Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members
sick_scansegment_xd::Fifo< T > Class Template Reference

#include <fifo.h>

Public Member Functions

 Fifo (int fifo_length=20)
 
virtual bool Pop (T &element, fifo_timestamp &timestamp, size_t &counter)
 
virtual size_t Push (const T &element, const fifo_timestamp timestamp=fifo_clock::now(), size_t counter=0)
 
virtual double SecondsSinceLastPush ()
 
virtual void Shutdown (void)
 
virtual size_t Size (void)
 
virtual size_t TotalMessagesPushed ()
 
virtual ~Fifo ()
 

Static Public Member Functions

static double Seconds (const fifo_timestamp &timestamp_start, const fifo_timestamp &timestamp_end=fifo_clock::now())
 

Protected Types

typedef std::tuple< T, fifo_timestamp, size_t > fifo_element
 

Protected Attributes

std::condition_variable m_cond
 
int m_fifo_length
 
std::mutex m_mutex
 
size_t m_num_messages_received
 
std::queue< fifo_elementm_queue
 
bool m_shutdown
 
fifo_timestamp m_timestamp_last_msg_received
 

Detailed Description

template<typename T>
class sick_scansegment_xd::Fifo< T >

Definition at line 75 of file fifo.h.

Member Typedef Documentation

◆ fifo_element

template<typename T >
typedef std::tuple<T, fifo_timestamp, size_t> sick_scansegment_xd::Fifo< T >::fifo_element
protected

Definition at line 174 of file fifo.h.

Constructor & Destructor Documentation

◆ Fifo()

template<typename T >
sick_scansegment_xd::Fifo< T >::Fifo ( int  fifo_length = 20)
inline

Definition at line 83 of file fifo.h.

◆ ~Fifo()

template<typename T >
virtual sick_scansegment_xd::Fifo< T >::~Fifo ( )
inlinevirtual

Definition at line 88 of file fifo.h.

Member Function Documentation

◆ Pop()

template<typename T >
virtual bool sick_scansegment_xd::Fifo< T >::Pop ( T &  element,
fifo_timestamp timestamp,
size_t &  counter 
)
inlinevirtual

Definition at line 108 of file fifo.h.

◆ Push()

template<typename T >
virtual size_t sick_scansegment_xd::Fifo< T >::Push ( const T &  element,
const fifo_timestamp  timestamp = fifo_clock::now(),
size_t  counter = 0 
)
inlinevirtual

Definition at line 93 of file fifo.h.

◆ Seconds()

template<typename T >
static double sick_scansegment_xd::Fifo< T >::Seconds ( const fifo_timestamp timestamp_start,
const fifo_timestamp timestamp_end = fifo_clock::now() 
)
inlinestatic

Definition at line 166 of file fifo.h.

◆ SecondsSinceLastPush()

template<typename T >
virtual double sick_scansegment_xd::Fifo< T >::SecondsSinceLastPush ( )
inlinevirtual

Definition at line 157 of file fifo.h.

◆ Shutdown()

template<typename T >
virtual void sick_scansegment_xd::Fifo< T >::Shutdown ( void  )
inlinevirtual

Definition at line 138 of file fifo.h.

◆ Size()

template<typename T >
virtual size_t sick_scansegment_xd::Fifo< T >::Size ( void  )
inlinevirtual

Definition at line 128 of file fifo.h.

◆ TotalMessagesPushed()

template<typename T >
virtual size_t sick_scansegment_xd::Fifo< T >::TotalMessagesPushed ( )
inlinevirtual

Definition at line 148 of file fifo.h.

Member Data Documentation

◆ m_cond

template<typename T >
std::condition_variable sick_scansegment_xd::Fifo< T >::m_cond
protected

Definition at line 177 of file fifo.h.

◆ m_fifo_length

template<typename T >
int sick_scansegment_xd::Fifo< T >::m_fifo_length
protected

Definition at line 178 of file fifo.h.

◆ m_mutex

template<typename T >
std::mutex sick_scansegment_xd::Fifo< T >::m_mutex
protected

Definition at line 176 of file fifo.h.

◆ m_num_messages_received

template<typename T >
size_t sick_scansegment_xd::Fifo< T >::m_num_messages_received
protected

Definition at line 180 of file fifo.h.

◆ m_queue

template<typename T >
std::queue<fifo_element> sick_scansegment_xd::Fifo< T >::m_queue
protected

Definition at line 175 of file fifo.h.

◆ m_shutdown

template<typename T >
bool sick_scansegment_xd::Fifo< T >::m_shutdown
protected

Definition at line 179 of file fifo.h.

◆ m_timestamp_last_msg_received

template<typename T >
fifo_timestamp sick_scansegment_xd::Fifo< T >::m_timestamp_last_msg_received
protected

Definition at line 181 of file fifo.h.


The documentation for this class was generated from the following file:


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:21