Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

RTM::RingBuffer< T > Class Template Reference

RingBuffer template class. More...

#include <RtcRingBuffer.h>

List of all members.

Public Member Functions

 RingBuffer (int length)
 RingBuffer constructor.

 RingBuffer (int length, T inival)
 RingBuffer constructor.

virtual void put (const T value)
 Store given value into the RingBuffer.

virtual const T & get_new ()
 Get the newset value.

virtual T & get_old ()
 Get the oldest value.

virtual T & get_back (int pos)
 Get pos-th older value from the newest value.

virtual T & get_front (int pos)
 Get pos-th newer value from the oldest value.

virtual int buff_length ()
 Get buffer length.


Protected Attributes

ACE_Thread_Mutex m_Mutex
 Mutex.

ACE_Condition< ACE_Thread_Mutex > m_Cond
 Condition variable.

int m_Length
 Buffer length.

vector< T > m_Buffer
 Buffer sequence.

int m_Newest
 Position of newset value stored in.

int m_Oldest
 Position of oldest value stored in.


Detailed Description

template<class T>
class RTM::RingBuffer< T >

RingBuffer template class.

RingBuffer template class which provides for any types variable. This ring buffer is able to have any length of buffer. You can get newest and oldest value, value in any position of buffer.


Constructor & Destructor Documentation

template<class T>
RTM::RingBuffer< T >::RingBuffer int  length  )  [inline]
 

RingBuffer constructor.

RingBuffer<T> class constructor. This constructor create the buffer with "length".

Parameters:
length Buffer length

template<class T>
RTM::RingBuffer< T >::RingBuffer int  length,
inival
[inline]
 

RingBuffer constructor.

RingBuffer<T> class constructor. This constructor create the buffer with "length".

Parameters:
length Buffer length
inival Initial value


Member Function Documentation

template<class T>
virtual int RTM::RingBuffer< T >::buff_length  )  [inline, virtual]
 

Get buffer length.

Get buffer length

template<class T>
virtual T& RTM::RingBuffer< T >::get_back int  pos  )  [inline, virtual]
 

Get pos-th older value from the newest value.

Get pos-th older value from the newset value stored in the RingBuffer.

template<class T>
virtual T& RTM::RingBuffer< T >::get_front int  pos  )  [inline, virtual]
 

Get pos-th newer value from the oldest value.

Get pos-th newer value from the oldest value stored in the RingBuffer.

template<class T>
virtual const T& RTM::RingBuffer< T >::get_new  )  [inline, virtual]
 

Get the newset value.

Get the newest value stored in the RingBuffer.

template<class T>
virtual T& RTM::RingBuffer< T >::get_old  )  [inline, virtual]
 

Get the oldest value.

Get the oldest value stored in the RingBuffer.

template<class T>
virtual void RTM::RingBuffer< T >::put const T  value  )  [inline, virtual]
 

Store given value into the RingBuffer.

Store given argument value into the RingBuffer.

Parameters:
value Stored value


Member Data Documentation

template<class T>
vector<T> RTM::RingBuffer< T >::m_Buffer [protected]
 

Buffer sequence.

template<class T>
ACE_Condition<ACE_Thread_Mutex> RTM::RingBuffer< T >::m_Cond [protected]
 

Condition variable.

template<class T>
int RTM::RingBuffer< T >::m_Length [protected]
 

Buffer length.

template<class T>
ACE_Thread_Mutex RTM::RingBuffer< T >::m_Mutex [protected]
 

Mutex.

template<class T>
int RTM::RingBuffer< T >::m_Newest [protected]
 

Position of newset value stored in.

template<class T>
int RTM::RingBuffer< T >::m_Oldest [protected]
 

Position of oldest value stored in.


The documentation for this class was generated from the following file:
Generated on Thu Dec 16 15:29:19 2004 for OpenRTM by doxygen 1.3.6