OpenRTM-aist  1.2.1
Public Member Functions | List of all members
RTC::BufferBase< DataType > Class Template Referenceabstract

BufferBase abstract class. More...

#include <BufferBase.h>

Inheritance diagram for RTC::BufferBase< DataType >:
Inheritance graph
[legend]
Collaboration diagram for RTC::BufferBase< DataType >:
Collaboration graph
[legend]

Public Member Functions

virtual BUFFERSTATUS_ENUM ~BufferBase (void)
 Virtual destructor. More...
 
virtual void init (const coil::Properties &prop)=0
 Set the buffer. More...
 
virtual size_t length (void) const =0
 Get the buffer length. More...
 
virtual ReturnCode length (size_t n)=0
 Set the buffer length. More...
 
virtual ReturnCode reset ()=0
 Reset the buffer status. More...
 
virtual DataType * wptr (long int n=0)=0
 Get the writing pointer. More...
 
virtual ReturnCode advanceWptr (long int n=1, bool unlock_enable=true)=0
 Forward n writing pointers. More...
 
virtual ReturnCode put (const DataType &value)=0
 Write data into the buffer. More...
 
virtual ReturnCode write (const DataType &value, long int sec=-1, long int nsec=-1)=0
 Write data into the buffer. More...
 
virtual size_t writable () const =0
 Get a writable number. More...
 
virtual bool full (void) const =0
 Check on whether the buffer is full. More...
 
virtual DataType * rptr (long int n=0)=0
 Get the reading pointer. More...
 
virtual ReturnCode advanceRptr (long int n=1, bool unlock_enable=true)=0
 Forward n reading pointers. More...
 
virtual ReturnCode get (DataType &value)=0
 Read data from the buffer. More...
 
virtual DataType & get ()=0
 Read data from the buffer. More...
 
virtual ReturnCode read (DataType &value, long int sec=-1, long int nsec=-1)=0
 Read data from the buffer. More...
 
virtual size_t readable () const =0
 Write data into the buffer. More...
 
virtual bool empty (void) const =0
 Check on whether the buffer is empty. More...
 

Additional Inherited Members

- Public Types inherited from RTC::BufferStatus
enum  Enum {
  BUFFER_OK = 0, BUFFER_ERROR, BUFFER_FULL, BUFFER_EMPTY,
  NOT_SUPPORTED, TIMEOUT, PRECONDITION_NOT_MET
}
 DataPortStatus return codes. More...
 
- Static Public Member Functions inherited from RTC::BufferStatus
static const char * toString (Enum status)
 Convert BufferStatus into the string. More...
 

Detailed Description

template<class DataType>
class RTC::BufferBase< DataType >

BufferBase abstract class.

This is the abstract interface class for various Buffer. Concrete buffer classes must implement the following pure virtual functions. The users specify data type to hold it in a buffer as <DataType>.

This class provides public interface as follows.

This class provides protected interface as follows.

Parameters
DataTypeData type to be stored to the buffer.
Since
0.4.0

Constructor & Destructor Documentation

template<class DataType>
virtual BUFFERSTATUS_ENUM RTC::BufferBase< DataType >::~BufferBase ( void  )
inlinevirtual

Member Function Documentation

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceRptr ( long int  n = 1,
bool  unlock_enable = true 
)
pure virtual

Forward n reading pointers.

Pure virtual function to forward n reading pointers.

Returns
BUFFER_OK: Successful BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::advanceWptr ( long int  n = 1,
bool  unlock_enable = true 
)
pure virtual

Forward n writing pointers.

Pure virtual function to forward n writing pointers.

Returns
BUFFER_OK: Successful BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual bool RTC::BufferBase< DataType >::empty ( void  ) const
pure virtual

Check on whether the buffer is empty.

Pure virtual function to check on whether the buffer is empty.

Returns
True if the buffer is empty, else false.

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual bool RTC::BufferBase< DataType >::full ( void  ) const
pure virtual

Check on whether the buffer is full.

Pure virtual function to check on whether the buffer is full.

Returns
True if the buffer is full, else false.

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::get ( DataType &  value)
pure virtual

Read data from the buffer.

Pure virtual function to read data form the buffer.

Parameters
valueData to read.
Returns
BUFFER_OK: Successful BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

template<class DataType>
virtual DataType& RTC::BufferBase< DataType >::get ( )
pure virtual

Read data from the buffer.

Pure virtual function to read data from the buffer.

Returns
Data got from buffer.

Implemented in RTC::NullBuffer< DataType >, and RTC::RingBuffer< DataType >.

template<class DataType>
virtual void RTC::BufferBase< DataType >::init ( const coil::Properties prop)
pure virtual

Set the buffer.

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::length ( void  ) const
pure virtual

Get the buffer length.

Pure virtual function to get the buffer length.

Returns
buffer length

Implemented in RTC::NullBuffer< DataType >, and RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::length ( size_t  n)
pure virtual

Set the buffer length.

Pure virtual function to set the buffer length.

Returns
BUFFER_OK: Successful NOT_SUPPORTED: The buffer length cannot be set. BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::put ( const DataType &  value)
pure virtual

Write data into the buffer.

Pure virtual function to write data into the buffer.

Parameters
valueTarget data to write.
Returns
BUFFER_OK: Successful BUFFER_ERROR: Failed

Implemented in RTC::NullBuffer< DataType >, and RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::read ( DataType &  value,
long int  sec = -1,
long int  nsec = -1 
)
pure virtual

Read data from the buffer.

Pure virtual function to read data from the buffer.

Parameters
valueRead data.
Returns
Result of having read (true:Successful, false:Failed)

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::readable ( ) const
pure virtual

Write data into the buffer.

Pure virtual function to get a reading number.

Returns
readable number

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::reset ( )
pure virtual

Reset the buffer status.

Pure virtual function to reset the buffer status.

Returns
BUFFER_OK: Successful NOT_SUPPORTED: The buffer status cannot be reset. BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual DataType* RTC::BufferBase< DataType >::rptr ( long int  n = 0)
pure virtual

Get the reading pointer.

Pure virtual function to get the reading pointer.

Returns
reading pointer

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual DataType* RTC::BufferBase< DataType >::wptr ( long int  n = 0)
pure virtual

Get the writing pointer.

Pure virtual function to get the writing pointer.

Parameters
writeingpinter or n previous pointer
Returns
writing pointer

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual size_t RTC::BufferBase< DataType >::writable ( ) const
pure virtual

Get a writable number.

Pure virtual function to get a writable number.

Returns
value writable number

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().

template<class DataType>
virtual ReturnCode RTC::BufferBase< DataType >::write ( const DataType &  value,
long int  sec = -1,
long int  nsec = -1 
)
pure virtual

Write data into the buffer.

Pure virtual function to write data into the buffer.

Parameters
valueTarget data to write.
Returns
BUFFER_OK: Successful BUFFER_ERROR: Failed

Implemented in RTC::RingBuffer< DataType >.

Referenced by RTC::BufferBase< DataType >::~BufferBase().


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