#include <BufferInterface.hpp>
Public Types | |
typedef boost::call_traits< T > ::param_type | param_t |
typedef boost::call_traits< T > ::reference | reference_t |
typedef boost::shared_ptr < BufferInterface< T > > | shared_ptr |
typedef BufferBase::size_type | size_type |
typedef T | value_t |
Public Member Functions | |
virtual void | data_sample (const T &sample)=0 |
virtual T | data_sample () const =0 |
virtual bool | Pop (reference_t item)=0 |
virtual size_type | Pop (std::vector< value_t > &items)=0 |
virtual value_t * | PopWithoutRelease ()=0 |
virtual bool | Push (param_t item)=0 |
virtual size_type | Push (const std::vector< value_t > &items)=0 |
virtual void | Release (value_t *item)=0 |
virtual | ~BufferInterface () |
A Buffer is an object which is used to store (Push) and retrieve (Pop) values from.
T | The value type stored in this buffer. |
Definition at line 55 of file BufferInterface.hpp.
typedef boost::call_traits<T>::param_type RTT::base::BufferInterface< T >::param_t |
Reimplemented in RTT::base::Buffer< T >, RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
Definition at line 63 of file BufferInterface.hpp.
typedef boost::call_traits<T>::reference RTT::base::BufferInterface< T >::reference_t |
Reimplemented in RTT::base::Buffer< T >, RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
Definition at line 64 of file BufferInterface.hpp.
typedef boost::shared_ptr< BufferInterface<T> > RTT::base::BufferInterface< T >::shared_ptr |
Reimplemented from RTT::base::BufferBase.
Definition at line 62 of file BufferInterface.hpp.
typedef BufferBase::size_type RTT::base::BufferInterface< T >::size_type |
Reimplemented from RTT::base::BufferBase.
Reimplemented in RTT::base::Buffer< T >, RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
Definition at line 60 of file BufferInterface.hpp.
typedef T RTT::base::BufferInterface< T >::value_t |
Reimplemented in RTT::base::Buffer< T >, RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
Definition at line 59 of file BufferInterface.hpp.
virtual RTT::base::BufferInterface< T >::~BufferInterface | ( | ) | [inline, virtual] |
Definition at line 66 of file BufferInterface.hpp.
virtual void RTT::base::BufferInterface< T >::data_sample | ( | const T & | sample | ) | [pure virtual] |
Initializes this buffer with a data sample, such that for dynamical allocated types T, the buffer can reserve place to hold these elements.
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual T RTT::base::BufferInterface< T >::data_sample | ( | ) | const [pure virtual] |
Reads back a data sample.
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual bool RTT::base::BufferInterface< T >::Pop | ( | reference_t | item | ) | [pure virtual] |
Read the oldest value from the buffer.
item | is to be set with a value from the buffer. |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual size_type RTT::base::BufferInterface< T >::Pop | ( | std::vector< value_t > & | items | ) | [pure virtual] |
Read the whole buffer.
items | is to be filled with all values in the buffer, with items.begin() the oldest value. |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual value_t* RTT::base::BufferInterface< T >::PopWithoutRelease | ( | ) | [pure virtual] |
Returns a pointer to the first element in the buffer. The pointer is only garanteed to stay valid until the next pop operation.
Note the pointer needs the be released by calling Release on the buffer.
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual bool RTT::base::BufferInterface< T >::Push | ( | param_t | item | ) | [pure virtual] |
Write a single value to the buffer.
item | the value to write |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual size_type RTT::base::BufferInterface< T >::Push | ( | const std::vector< value_t > & | items | ) | [pure virtual] |
Write a sequence of values to the buffer.
items | the values to write |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
virtual void RTT::base::BufferInterface< T >::Release | ( | value_t * | item | ) | [pure virtual] |
Releases the pointer
item | pointer aquired using PopWithoutRelease() |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.