#include <BufferUnSync.hpp>
Public Types | |
typedef BufferInterface< T > ::param_t | param_t |
typedef BufferInterface< T > ::reference_t | reference_t |
typedef BufferInterface< T > ::size_type | size_type |
typedef T | value_t |
Public Member Functions | |
BufferUnSync (size_type size, const T &initial_value=T(), bool circular=false) | |
size_type | capacity () const |
void | clear () |
virtual void | data_sample (const T &sample) |
virtual T | data_sample () const |
bool | empty () const |
bool | full () const |
bool | Pop (reference_t item) |
size_type | Pop (std::vector< T > &items) |
value_t * | PopWithoutRelease () |
bool | Push (param_t item) |
size_type | Push (const std::vector< T > &items) |
void | Release (value_t *item) |
size_type | size () const |
~BufferUnSync () | |
Private Attributes | |
std::deque< T > | buf |
size_type | cap |
value_t | lastSample |
const bool | mcircular |
Implements a not threadsafe buffer. Only use when no more than one thread accesses this buffer at a time.
Definition at line 58 of file BufferUnSync.hpp.
typedef BufferInterface<T>::param_t RTT::base::BufferUnSync< T >::param_t |
Reimplemented from RTT::base::BufferInterface< T >.
Definition at line 63 of file BufferUnSync.hpp.
typedef BufferInterface<T>::reference_t RTT::base::BufferUnSync< T >::reference_t |
Reimplemented from RTT::base::BufferInterface< T >.
Definition at line 62 of file BufferUnSync.hpp.
typedef BufferInterface<T>::size_type RTT::base::BufferUnSync< T >::size_type |
Reimplemented from RTT::base::BufferInterface< T >.
Definition at line 64 of file BufferUnSync.hpp.
typedef T RTT::base::BufferUnSync< T >::value_t |
Reimplemented from RTT::base::BufferInterface< T >.
Definition at line 65 of file BufferUnSync.hpp.
RTT::base::BufferUnSync< T >::BufferUnSync | ( | size_type | size, |
const T & | initial_value = T() , |
||
bool | circular = false |
||
) | [inline] |
Create a buffer of size size.
Definition at line 70 of file BufferUnSync.hpp.
RTT::base::BufferUnSync< T >::~BufferUnSync | ( | ) | [inline] |
Destructor
Definition at line 90 of file BufferUnSync.hpp.
size_type RTT::base::BufferUnSync< T >::capacity | ( | ) | const [inline, virtual] |
Returns the maximum number of items that can be stored in the buffer.
Implements RTT::base::BufferBase.
Definition at line 169 of file BufferUnSync.hpp.
void RTT::base::BufferUnSync< T >::clear | ( | ) | [inline, virtual] |
Clears all contents of this buffer.
Implements RTT::base::BufferBase.
Definition at line 177 of file BufferUnSync.hpp.
virtual void RTT::base::BufferUnSync< T >::data_sample | ( | const T & | sample | ) | [inline, virtual] |
Initializes this buffer with a data sample, such that for dynamical allocated types T, the buffer can reserve place to hold these elements.
Implements RTT::base::BufferInterface< T >.
Definition at line 76 of file BufferUnSync.hpp.
virtual T RTT::base::BufferUnSync< T >::data_sample | ( | ) | const [inline, virtual] |
Reads back a data sample.
Implements RTT::base::BufferInterface< T >.
Definition at line 82 of file BufferUnSync.hpp.
bool RTT::base::BufferUnSync< T >::empty | ( | ) | const [inline, virtual] |
Check if this buffer is empty.
Implements RTT::base::BufferBase.
Definition at line 181 of file BufferUnSync.hpp.
bool RTT::base::BufferUnSync< T >::full | ( | ) | const [inline, virtual] |
Check if this buffer is full.
Implements RTT::base::BufferBase.
Definition at line 185 of file BufferUnSync.hpp.
bool RTT::base::BufferUnSync< T >::Pop | ( | reference_t | item | ) | [inline, virtual] |
Read the oldest value from the buffer.
item | is to be set with a value from the buffer. |
Implements RTT::base::BufferInterface< T >.
Definition at line 125 of file BufferUnSync.hpp.
size_type RTT::base::BufferUnSync< T >::Pop | ( | std::vector< T > & | items | ) | [inline, virtual] |
Read the whole buffer.
items | is to be filled with all values in the buffer, with items.begin() the oldest value. |
Implements RTT::base::BufferInterface< T >.
Definition at line 135 of file BufferUnSync.hpp.
value_t* RTT::base::BufferUnSync< T >::PopWithoutRelease | ( | ) | [inline, 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.
Implements RTT::base::BufferInterface< T >.
Definition at line 147 of file BufferUnSync.hpp.
bool RTT::base::BufferUnSync< T >::Push | ( | param_t | item | ) | [inline, virtual] |
Write a single value to the buffer.
item | the value to write |
Implements RTT::base::BufferInterface< T >.
Definition at line 92 of file BufferUnSync.hpp.
size_type RTT::base::BufferUnSync< T >::Push | ( | const std::vector< T > & | items | ) | [inline, virtual] |
Write a sequence of values to the buffer.
items | the values to write |
Implements RTT::base::BufferInterface< T >.
Definition at line 104 of file BufferUnSync.hpp.
void RTT::base::BufferUnSync< T >::Release | ( | value_t * | item | ) | [inline, virtual] |
Releases the pointer
item | pointer aquired using PopWithoutRelease() |
Implements RTT::base::BufferInterface< T >.
Definition at line 162 of file BufferUnSync.hpp.
size_type RTT::base::BufferUnSync< T >::size | ( | ) | const [inline, virtual] |
Returns the actual number of items that are stored in the buffer.
Implements RTT::base::BufferBase.
Definition at line 173 of file BufferUnSync.hpp.
std::deque<T> RTT::base::BufferUnSync< T >::buf [private] |
Definition at line 190 of file BufferUnSync.hpp.
size_type RTT::base::BufferUnSync< T >::cap [private] |
Definition at line 189 of file BufferUnSync.hpp.
value_t RTT::base::BufferUnSync< T >::lastSample [private] |
Definition at line 191 of file BufferUnSync.hpp.
const bool RTT::base::BufferUnSync< T >::mcircular [private] |
Definition at line 192 of file BufferUnSync.hpp.