TwiceAsNice  2019-02-18
Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Basda::Ringbuffer< DataType > Class Template Reference


Generic Class for a Ringbuffer More...

#include <Ringbuffer.h>

Inheritance diagram for Basda::Ringbuffer< DataType >:
Inheritance graph
Collaboration diagram for Basda::Ringbuffer< DataType >:
Collaboration graph

Classes

struct  DataRingbufferObject
 

Public Types

typedef IceUtil::Handle< DataType > DataTypePtr
 
typedef std::vector< DataType > SeqDataType
 
typedef std::vector< DataType >::iterator SeqDataTypeIt
 
typedef std::vector< DataTypePtrSeqImagePtrType
 
typedef std::vector< DataRingbufferObjectDataRingbufferObjectSeq
 
typedef std::vector< DataRingbufferObject >::iterator DataRingbufferObjectSeqIt
 
typedef std::vector< DataRingbufferObject >::const_iterator DataRingbufferObjectSeqConstIt
 
typedef IceUtil::Handle< DataType > DataTypePtr
 
typedef std::vector< DataType > SeqDataType
 
typedef std::vector< DataType >::iterator SeqDataTypeIt
 
typedef std::vector< DataTypePtrSeqImagePtrType
 
typedef std::vector< DataRingbufferObjectDataRingbufferObjectSeq
 
typedef std::vector< DataRingbufferObject >::iterator DataRingbufferObjectSeqIt
 
typedef std::vector< DataRingbufferObject >::const_iterator DataRingbufferObjectSeqConstIt
 

Public Member Functions

RingbufferRegime::State state ()
 the current state. This is one of TERMINATED, WORKING, STOP, PUASE, IDLE, TIMEOUT or ERROR More...
 
DataTypePtr getLastBuffer ()
 
size_t getLastBufferNum ()
 
RingbufferRegime::State readIdxBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readNumBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readBuffer (DataTypePtr &_data, const Nice::Time &=Nice::Time(), DeviceAsync &=Device::s_async)
 
void waitForState (RingbufferRegime::State _state, DeviceAsync &=Device::s_async)
 
bool timedWaitForState (RingbufferRegime::State _state, const Nice::Time &_timeout, DeviceAsync &=Device::s_async)
 
RingbufferRegime::State waitForStateChange (DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State timedWaitForStateChange (const Nice::Time &_timeout, DeviceAsync &_async=Device::s_async)
 
template<typename Type >
bool isSame (size_t _size, const Type &_data=Type())
 
template<typename Type >
void resize (size_t _size, const Type &_data=Type())
 
void resize (size_t _size, const DataType &_data=DataType())
 
size_t size ()
 
RingbufferRegime::State state ()
 the current state. This is one of TERMINATED, WORKING, STOP, PUASE, IDLE, TIMEOUT or ERROR More...
 
DataTypePtr getLastBuffer ()
 
size_t getLastBufferNum ()
 
RingbufferRegime::State readIdxBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readNumBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readBuffer (DataTypePtr &_data, const Nice::Time &=Nice::Time(), DeviceAsync &=Device::s_async)
 
void waitForState (RingbufferRegime::State _state, DeviceAsync &=Device::s_async)
 
bool timedWaitForState (RingbufferRegime::State _state, const Nice::Time &_timeout, DeviceAsync &=Device::s_async)
 
RingbufferRegime::State waitForStateChange (DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State timedWaitForStateChange (const Nice::Time &_timeout, DeviceAsync &_async=Device::s_async)
 
template<typename Type >
bool isSame (size_t _size, const Type &_data=Type())
 
template<typename Type >
void resize (size_t _size, const Type &_data=Type())
 
void resize (size_t _size, const DataType &_data=DataType())
 
size_t size ()
 
RingbufferRegime::State state ()
 
 Ringbuffer ()
 
 ~Ringbuffer ()
 
void notifyAll ()
 
void terminate ()
 
void setState (RingbufferRegime::State _state)
 
size_t seqId ()
 
DataTypePtr lastBuffer ()
 
DataTypePtr currentBuffer ()
 
DataTypePtr nextBuffer ()
 
const DataTypePtrgetNumBuffer (size_t _num)
 
RingbufferRegime::State readNumBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readBuffer (DataTypePtr &_data, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State waitIfState (RingbufferRegime::State _state, DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State waitForStateChange (DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State timedWaitForStateChange (const Nice::Time &_time, DeviceAsync &_async=Device::s_async)
 
void resize (size_t _size, const DataType &_data=DataType())
 
void init (size_t _size, const DataType &_data=DataType())
 
size_t size ()
 
RingbufferRegime::State state ()
 
 Ringbuffer ()
 
 ~Ringbuffer ()
 
void notifyAll ()
 
void terminate ()
 
void setState (RingbufferRegime::State _state)
 
size_t seqId ()
 
DataTypePtr lastBuffer ()
 
DataTypePtr currentBuffer ()
 
DataTypePtr nextBuffer ()
 
const DataTypePtrgetNumBuffer (size_t _num)
 
RingbufferRegime::State readNumBuffer (DataTypePtr &_data, size_t _num, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State readBuffer (DataTypePtr &_data, const Nice::Time &_time=Nice::Time(), DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State waitIfState (RingbufferRegime::State _state, DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State waitForStateChange (DeviceAsync &_async=Device::s_async)
 
RingbufferRegime::State timedWaitForStateChange (const Nice::Time &_time, DeviceAsync &_async=Device::s_async)
 
void resize (size_t _size, const DataType &_data=DataType())
 
void init (size_t _size, const DataType &_data=DataType())
 
size_t size ()
 

Public Attributes

size_t m_seqId
 

Protected Types

typedef IceUtil::Handle< DataType > DataTypePtr
 
typedef std::vector< DataType > SeqDataType
 
typedef std::vector< DataType >::iterator SeqDataTypeIt
 
typedef std::vector< DataTypePtrSeqImagePtrType
 
typedef std::vector< DataTypePtrDataRingbufferObjectSeq
 
typedef std::vector< DataTypePtr >::iterator DataRingbufferObjectSeqIt
 
typedef std::vector< DataTypePtr >::const_iterator DataRingbufferObjectSeqConstIt
 
typedef IceUtil::Handle< DataType > DataTypePtr
 
typedef std::vector< DataType > SeqDataType
 
typedef std::vector< DataType >::iterator SeqDataTypeIt
 
typedef std::vector< DataTypePtrSeqImagePtrType
 
typedef std::vector< DataTypePtrDataRingbufferObjectSeq
 
typedef std::vector< DataTypePtr >::iterator DataRingbufferObjectSeqIt
 
typedef std::vector< DataTypePtr >::const_iterator DataRingbufferObjectSeqConstIt
 

Protected Member Functions

 Ringbuffer ()
 default ctor. Generates a ring buffer of zero size in the IDLE state. More...
 
 ~Ringbuffer ()
 dtor. Does nothing. More...
 
void notifyAll ()
 
void terminate ()
 
void setState (RingbufferRegime::State _state)
 
size_t seqId ()
 retreive the sequential ID. More...
 
DataTypePtr lastBuffer ()
 
const DataTypePtrcurrentBuffer ()
 
void setCurrentBuffer (const DataTypePtr &_buffer)
 
DataTypePtrnextBuffer ()
 
 Ringbuffer ()
 default ctor. Generates a ring buffer of zero size in the IDLE state. More...
 
 ~Ringbuffer ()
 dtor. Does nothing. More...
 
void notifyAll ()
 
void terminate ()
 
void setState (RingbufferRegime::State _state)
 
size_t seqId ()
 retreive the sequential ID. More...
 
DataTypePtr lastBuffer ()
 
const DataTypePtrcurrentBuffer ()
 
void setCurrentBuffer (const DataTypePtr &_buffer)
 
DataTypePtrnextBuffer ()
 

Protected Attributes

DataRingbufferObjectSeq m_ring
 
DataRingbufferObjectSeqIt m_currentBuffer
 
DataRingbufferObjectSeqIt m_lastBuffer
 
size_t m_currentSeqId
 
size_t m_size
 
Nice::Monitor m_readerMonitor
 
RingbufferRegime::State m_state
 

Detailed Description

template<typename DataType>
class Basda::Ringbuffer< DataType >


Generic Class for a Ringbuffer

Author
Florian Briegel
Version
09.01.26
Date
2009-07-03 11:58:06 AM
Todo:
Author
Florian Briegel
Version
09.01.26
Date
2009-07-03 11:58:06 AM
Todo:

Member Typedef Documentation

◆ DataRingbufferObjectSeq [1/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::DataRingbufferObjectSeq
protected

◆ DataRingbufferObjectSeq [2/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::DataRingbufferObjectSeq
protected

◆ DataRingbufferObjectSeq [3/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject> Basda::Ringbuffer< DataType >::DataRingbufferObjectSeq

◆ DataRingbufferObjectSeq [4/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject> Basda::Ringbuffer< DataType >::DataRingbufferObjectSeq

◆ DataRingbufferObjectSeqConstIt [1/4]

template<typename DataType>
typedef std::vector<DataTypePtr>::const_iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqConstIt
protected

◆ DataRingbufferObjectSeqConstIt [2/4]

template<typename DataType>
typedef std::vector<DataTypePtr>::const_iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqConstIt
protected

◆ DataRingbufferObjectSeqConstIt [3/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject>::const_iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqConstIt

◆ DataRingbufferObjectSeqConstIt [4/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject>::const_iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqConstIt

◆ DataRingbufferObjectSeqIt [1/4]

template<typename DataType>
typedef std::vector<DataTypePtr>::iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqIt
protected

◆ DataRingbufferObjectSeqIt [2/4]

template<typename DataType>
typedef std::vector<DataTypePtr>::iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqIt
protected

◆ DataRingbufferObjectSeqIt [3/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject>::iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqIt

◆ DataRingbufferObjectSeqIt [4/4]

template<typename DataType>
typedef std::vector<DataRingbufferObject>::iterator Basda::Ringbuffer< DataType >::DataRingbufferObjectSeqIt

◆ DataTypePtr [1/4]

template<typename DataType>
typedef IceUtil::Handle<DataType> Basda::Ringbuffer< DataType >::DataTypePtr

◆ DataTypePtr [2/4]

template<typename DataType>
typedef IceUtil::Handle<DataType> Basda::Ringbuffer< DataType >::DataTypePtr

◆ DataTypePtr [3/4]

template<typename DataType>
typedef IceUtil::Handle<DataType> Basda::Ringbuffer< DataType >::DataTypePtr
protected

◆ DataTypePtr [4/4]

template<typename DataType>
typedef IceUtil::Handle<DataType> Basda::Ringbuffer< DataType >::DataTypePtr
protected

◆ SeqDataType [1/4]

template<typename DataType>
typedef std::vector<DataType> Basda::Ringbuffer< DataType >::SeqDataType

◆ SeqDataType [2/4]

template<typename DataType>
typedef std::vector<DataType> Basda::Ringbuffer< DataType >::SeqDataType

◆ SeqDataType [3/4]

template<typename DataType>
typedef std::vector<DataType> Basda::Ringbuffer< DataType >::SeqDataType
protected

◆ SeqDataType [4/4]

template<typename DataType>
typedef std::vector<DataType> Basda::Ringbuffer< DataType >::SeqDataType
protected

◆ SeqDataTypeIt [1/4]

template<typename DataType>
typedef std::vector<DataType>::iterator Basda::Ringbuffer< DataType >::SeqDataTypeIt

◆ SeqDataTypeIt [2/4]

template<typename DataType>
typedef std::vector<DataType>::iterator Basda::Ringbuffer< DataType >::SeqDataTypeIt

◆ SeqDataTypeIt [3/4]

template<typename DataType>
typedef std::vector<DataType>::iterator Basda::Ringbuffer< DataType >::SeqDataTypeIt
protected

◆ SeqDataTypeIt [4/4]

template<typename DataType>
typedef std::vector<DataType>::iterator Basda::Ringbuffer< DataType >::SeqDataTypeIt
protected

◆ SeqImagePtrType [1/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::SeqImagePtrType

◆ SeqImagePtrType [2/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::SeqImagePtrType

◆ SeqImagePtrType [3/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::SeqImagePtrType
protected

◆ SeqImagePtrType [4/4]

template<typename DataType>
typedef std::vector<DataTypePtr> Basda::Ringbuffer< DataType >::SeqImagePtrType
protected

Constructor & Destructor Documentation

◆ Ringbuffer() [1/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::Ringbuffer ( )
inlineprotected

default ctor. Generates a ring buffer of zero size in the IDLE state.


◆ ~Ringbuffer() [1/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::~Ringbuffer ( )
inlineprotected

dtor. Does nothing.


◆ Ringbuffer() [2/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::Ringbuffer ( )
inlineprotected

default ctor. Generates a ring buffer of zero size in the IDLE state.


◆ ~Ringbuffer() [2/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::~Ringbuffer ( )
inlineprotected

dtor. Does nothing.


◆ Ringbuffer() [3/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::Ringbuffer ( )
inline

◆ ~Ringbuffer() [3/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::~Ringbuffer ( )
inline

◆ Ringbuffer() [4/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::Ringbuffer ( )
inline

◆ ~Ringbuffer() [4/4]

template<typename DataType>
Basda::Ringbuffer< DataType >::~Ringbuffer ( )
inline

Member Function Documentation

◆ currentBuffer() [1/4]

template<typename DataType>
const DataTypePtr& Basda::Ringbuffer< DataType >::currentBuffer ( )
inlineprotected

◆ currentBuffer() [2/4]

template<typename DataType>
const DataTypePtr& Basda::Ringbuffer< DataType >::currentBuffer ( )
inlineprotected

◆ currentBuffer() [3/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::currentBuffer ( )
inline

◆ currentBuffer() [4/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::currentBuffer ( )
inline

◆ getLastBuffer() [1/2]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::getLastBuffer ( )
inline

◆ getLastBuffer() [2/2]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::getLastBuffer ( )
inline

◆ getLastBufferNum() [1/2]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::getLastBufferNum ( )
inline

◆ getLastBufferNum() [2/2]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::getLastBufferNum ( )
inline

◆ getNumBuffer() [1/2]

template<typename DataType>
const DataTypePtr& Basda::Ringbuffer< DataType >::getNumBuffer ( size_t  _num)
inline

◆ getNumBuffer() [2/2]

template<typename DataType>
const DataTypePtr& Basda::Ringbuffer< DataType >::getNumBuffer ( size_t  _num)
inline

◆ init() [1/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::init ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ init() [2/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::init ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ isSame() [1/2]

template<typename DataType>
template<typename Type >
bool Basda::Ringbuffer< DataType >::isSame ( size_t  _size,
const Type _data = Type() 
)
inline

◆ isSame() [2/2]

template<typename DataType>
template<typename Type >
bool Basda::Ringbuffer< DataType >::isSame ( size_t  _size,
const Type _data = Type() 
)
inline

◆ lastBuffer() [1/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::lastBuffer ( )
inlineprotected

◆ lastBuffer() [2/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::lastBuffer ( )
inlineprotected

◆ lastBuffer() [3/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::lastBuffer ( )
inline

◆ lastBuffer() [4/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::lastBuffer ( )
inline

◆ nextBuffer() [1/4]

template<typename DataType>
DataTypePtr& Basda::Ringbuffer< DataType >::nextBuffer ( )
inlineprotected

◆ nextBuffer() [2/4]

template<typename DataType>
DataTypePtr& Basda::Ringbuffer< DataType >::nextBuffer ( )
inlineprotected

◆ nextBuffer() [3/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::nextBuffer ( )
inline

◆ nextBuffer() [4/4]

template<typename DataType>
DataTypePtr Basda::Ringbuffer< DataType >::nextBuffer ( )
inline

◆ notifyAll() [1/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::notifyAll ( )
inlineprotected

◆ notifyAll() [2/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::notifyAll ( )
inlineprotected

◆ notifyAll() [3/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::notifyAll ( )
inline

◆ notifyAll() [4/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::notifyAll ( )
inline

◆ readBuffer() [1/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readBuffer ( DataTypePtr _data,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readBuffer() [2/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readBuffer ( DataTypePtr _data,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readBuffer() [3/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readBuffer ( DataTypePtr _data,
const Nice::Time = Nice::Time(),
DeviceAsync = Device::s_async 
)
inline

◆ readBuffer() [4/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readBuffer ( DataTypePtr _data,
const Nice::Time = Nice::Time(),
DeviceAsync = Device::s_async 
)
inline

◆ readIdxBuffer() [1/2]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readIdxBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readIdxBuffer() [2/2]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readIdxBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readNumBuffer() [1/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readNumBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readNumBuffer() [2/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readNumBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readNumBuffer() [3/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readNumBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ readNumBuffer() [4/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::readNumBuffer ( DataTypePtr _data,
size_t  _num,
const Nice::Time _time = Nice::Time(),
DeviceAsync _async = Device::s_async 
)
inline

◆ resize() [1/6]

template<typename DataType>
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ resize() [2/6]

template<typename DataType>
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ resize() [3/6]

template<typename DataType>
template<typename Type >
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const Type _data = Type() 
)
inline

◆ resize() [4/6]

template<typename DataType>
template<typename Type >
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const Type _data = Type() 
)
inline

◆ resize() [5/6]

template<typename DataType>
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ resize() [6/6]

template<typename DataType>
void Basda::Ringbuffer< DataType >::resize ( size_t  _size,
const DataType &  _data = DataType() 
)
inline

◆ seqId() [1/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::seqId ( )
inlineprotected

retreive the sequential ID.


Returns
an integer increasing for each call of nextBuffer().

◆ seqId() [2/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::seqId ( )
inlineprotected

retreive the sequential ID.


Returns
an integer increasing for each call of nextBuffer().

◆ seqId() [3/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::seqId ( )
inline

◆ seqId() [4/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::seqId ( )
inline

◆ setCurrentBuffer() [1/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setCurrentBuffer ( const DataTypePtr _buffer)
inlineprotected

◆ setCurrentBuffer() [2/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setCurrentBuffer ( const DataTypePtr _buffer)
inlineprotected

◆ setState() [1/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setState ( RingbufferRegime::State  _state)
inlineprotected

◆ setState() [2/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setState ( RingbufferRegime::State  _state)
inlineprotected

◆ setState() [3/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setState ( RingbufferRegime::State  _state)
inline

◆ setState() [4/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::setState ( RingbufferRegime::State  _state)
inline

◆ size() [1/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::size ( )
inline

◆ size() [2/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::size ( )
inline

◆ size() [3/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::size ( )
inline

◆ size() [4/4]

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::size ( )
inline

◆ state() [1/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::state ( )
inline

the current state. This is one of TERMINATED, WORKING, STOP, PUASE, IDLE, TIMEOUT or ERROR


◆ state() [2/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::state ( )
inline

the current state. This is one of TERMINATED, WORKING, STOP, PUASE, IDLE, TIMEOUT or ERROR


◆ state() [3/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::state ( )
inline

◆ state() [4/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::state ( )
inline

◆ terminate() [1/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::terminate ( )
inlineprotected

◆ terminate() [2/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::terminate ( )
inlineprotected

◆ terminate() [3/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::terminate ( )
inline

◆ terminate() [4/4]

template<typename DataType>
void Basda::Ringbuffer< DataType >::terminate ( )
inline

◆ timedWaitForState() [1/2]

template<typename DataType>
bool Basda::Ringbuffer< DataType >::timedWaitForState ( RingbufferRegime::State  _state,
const Nice::Time _timeout,
DeviceAsync = Device::s_async 
)
inline

◆ timedWaitForState() [2/2]

template<typename DataType>
bool Basda::Ringbuffer< DataType >::timedWaitForState ( RingbufferRegime::State  _state,
const Nice::Time _timeout,
DeviceAsync = Device::s_async 
)
inline

◆ timedWaitForStateChange() [1/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::timedWaitForStateChange ( const Nice::Time _time,
DeviceAsync _async = Device::s_async 
)
inline

◆ timedWaitForStateChange() [2/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::timedWaitForStateChange ( const Nice::Time _time,
DeviceAsync _async = Device::s_async 
)
inline

◆ timedWaitForStateChange() [3/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::timedWaitForStateChange ( const Nice::Time _timeout,
DeviceAsync _async = Device::s_async 
)
inline

◆ timedWaitForStateChange() [4/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::timedWaitForStateChange ( const Nice::Time _timeout,
DeviceAsync _async = Device::s_async 
)
inline

◆ waitForState() [1/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::waitForState ( RingbufferRegime::State  _state,
DeviceAsync = Device::s_async 
)
inline

◆ waitForState() [2/2]

template<typename DataType>
void Basda::Ringbuffer< DataType >::waitForState ( RingbufferRegime::State  _state,
DeviceAsync = Device::s_async 
)
inline

◆ waitForStateChange() [1/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitForStateChange ( DeviceAsync _async = Device::s_async)
inline

◆ waitForStateChange() [2/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitForStateChange ( DeviceAsync _async = Device::s_async)
inline

◆ waitForStateChange() [3/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitForStateChange ( DeviceAsync _async = Device::s_async)
inline

◆ waitForStateChange() [4/4]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitForStateChange ( DeviceAsync _async = Device::s_async)
inline

◆ waitIfState() [1/2]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitIfState ( RingbufferRegime::State  _state,
DeviceAsync _async = Device::s_async 
)
inline

◆ waitIfState() [2/2]

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::waitIfState ( RingbufferRegime::State  _state,
DeviceAsync _async = Device::s_async 
)
inline

Member Data Documentation

◆ m_currentBuffer

template<typename DataType>
DataRingbufferObjectSeqIt Basda::Ringbuffer< DataType >::m_currentBuffer
protected

◆ m_currentSeqId

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::m_currentSeqId
protected

◆ m_lastBuffer

template<typename DataType>
DataRingbufferObjectSeqIt Basda::Ringbuffer< DataType >::m_lastBuffer
protected

◆ m_readerMonitor

template<typename DataType>
Nice::Monitor Basda::Ringbuffer< DataType >::m_readerMonitor
protected

◆ m_ring

template<typename DataType>
DataRingbufferObjectSeq Basda::Ringbuffer< DataType >::m_ring
protected

◆ m_seqId

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::m_seqId

◆ m_size

template<typename DataType>
size_t Basda::Ringbuffer< DataType >::m_size
protected

◆ m_state

template<typename DataType>
RingbufferRegime::State Basda::Ringbuffer< DataType >::m_state
protected

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