A lock-based queue implementation to enqueue or dequeue a pointer of type T. More...
#include <rtt/LockedQueue.hpp>
Public Types | |
typedef T | value_t |
typedef unsigned int | size_type |
Public Member Functions | |
LockedQueue (unsigned int lsize, unsigned int unused=0) | |
Create a lock-based queue wich can store lsize elements. | |
size_type | capacity () const |
size_type | size () const |
bool | isEmpty () const |
Inspect if the Queue is empty. | |
bool | isFull () const |
Inspect if the Queue is full. | |
void | clear () |
bool | enqueue (const T &value) |
Enqueue an item. | |
int | enqueueCounted (const T &value) |
Enqueue an item and return its 'ticket' number. | |
bool | dequeue (T &result) |
Dequeue an item. | |
int | dequeueCounted (T &result) |
Dequeue an item and return the same 'ticket' number when it was queued. | |
value_t | front () const |
Returns the first element of the queue. | |
value_t | back () const |
Returns the last element of the queue. |
A lock-based queue implementation to enqueue or dequeue a pointer of type T.
No memory allocation is done during read or write.
T | The pointer type to be stored in the queue. Example : LockedQueue<A*> is a queue which holds values of type A. | |
ReadPolicy | The Policy to block (wait) on empty (during dequeue) using BlockingPolicy, or to return false, using NonBlockingPolicy (Default). This does not influence partial filled queue behaviour. | |
WritePolicy | The Policy to block (wait) on full (during enqueue), using BlockingPolicy, or to return false, using NonBlockingPolicy (Default). This does not influence partial filled buffer behaviour. |
Definition at line 26 of file LockedQueue.hpp.
RTT::LockedQueue< T, ReadPolicy, WritePolicy >::LockedQueue | ( | unsigned int | lsize, | |
unsigned int | unused = 0 | |||
) | [inline] |
Create a lock-based queue wich can store lsize elements.
lsize | the capacity of the queue. ' |
Definition at line 50 of file LockedQueue.hpp.
bool RTT::LockedQueue< T, ReadPolicy, WritePolicy >::dequeue | ( | T & | result | ) | [inline] |
Dequeue an item.
result | The value dequeued. |
Definition at line 143 of file LockedQueue.hpp.
int RTT::LockedQueue< T, ReadPolicy, WritePolicy >::dequeueCounted | ( | T & | result | ) | [inline] |
Dequeue an item and return the same 'ticket' number when it was queued.
value | The value dequeued. |
Definition at line 163 of file LockedQueue.hpp.
bool RTT::LockedQueue< T, ReadPolicy, WritePolicy >::enqueue | ( | const T & | value | ) | [inline] |
Enqueue an item.
value | The value to enqueue. |
Definition at line 104 of file LockedQueue.hpp.
int RTT::LockedQueue< T, ReadPolicy, WritePolicy >::enqueueCounted | ( | const T & | value | ) | [inline] |
Enqueue an item and return its 'ticket' number.
value | The value to enqueue. |
Definition at line 123 of file LockedQueue.hpp.
bool RTT::LockedQueue< T, ReadPolicy, WritePolicy >::isEmpty | ( | ) | const [inline] |
Inspect if the Queue is empty.
Definition at line 77 of file LockedQueue.hpp.
bool RTT::LockedQueue< T, ReadPolicy, WritePolicy >::isFull | ( | ) | const [inline] |
Inspect if the Queue is full.
Definition at line 87 of file LockedQueue.hpp.