#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 Types inherited from RTT::base::BufferBase | |
typedef boost::shared_ptr< BufferBase > | shared_ptr |
typedef int | size_type |
Public Member Functions | |
virtual bool | data_sample (param_t sample, bool reset=true)=0 |
virtual value_t | data_sample () const =0 |
virtual FlowStatus | 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 () |
Public Member Functions inherited from RTT::base::BufferBase | |
virtual size_type | capacity () const =0 |
virtual void | clear ()=0 |
virtual size_type | dropped () const =0 |
virtual bool | empty () const =0 |
virtual bool | full () const =0 |
virtual size_type | size () const =0 |
virtual | ~BufferBase () |
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 56 of file BufferInterface.hpp.
typedef boost::call_traits<T>::param_type RTT::base::BufferInterface< T >::param_t |
Definition at line 64 of file BufferInterface.hpp.
typedef boost::call_traits<T>::reference RTT::base::BufferInterface< T >::reference_t |
Definition at line 65 of file BufferInterface.hpp.
typedef boost::shared_ptr< BufferInterface<T> > RTT::base::BufferInterface< T >::shared_ptr |
Definition at line 63 of file BufferInterface.hpp.
typedef BufferBase::size_type RTT::base::BufferInterface< T >::size_type |
Definition at line 61 of file BufferInterface.hpp.
typedef T RTT::base::BufferInterface< T >::value_t |
Definition at line 60 of file BufferInterface.hpp.
|
inlinevirtual |
Definition at line 67 of file BufferInterface.hpp.
|
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.
sample | the data sample |
reset | enforce reinitialization even if this operation clears all data. |
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
|
pure virtual |
Reads back a data sample.
Implemented in RTT::base::BufferLockFree< T >, RTT::base::BufferLocked< T >, and RTT::base::BufferUnSync< T >.
|
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 >.
|
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 >.
|
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 >.
|
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 >.
|
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 >.
|
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 >.