Orocos Real-Time Toolkit
2.5.0
|
Create an atomic, non-blocking Multi-Writer Single-Reader FIFO for storing a pointer T by value. More...
#include <rtt/internal/AtomicMWSRQueue.hpp>
Public Types | |
typedef unsigned int | size_type |
Public Member Functions | |
AtomicMWSRQueue (unsigned int size) | |
Create an AtomicMWSRQueue with queue size size. | |
bool | isFull () const |
Inspect if the Queue is full. | |
bool | isEmpty () const |
Inspect if the Queue is empty. | |
size_type | capacity () const |
Return the maximum number of items this queue can contain. | |
size_type | size () const |
Return the number of elements in the queue. | |
bool | enqueue (const T &value) |
Enqueue an item. | |
bool | dequeue (T &result) |
Dequeue an item. | |
const T | front () const |
Return the next to be read value. | |
void | clear () |
Clear all contents of the Queue and thus make it empty. |
Create an atomic, non-blocking Multi-Writer Single-Reader FIFO for storing a pointer T by value.
Any number of writer threads may access the queue concurrently, but only one thread may read it.
T | The pointer type to be stored in the Queue. Example : AtomicMWSRQueue< A* > is a queue of pointers to A. |
Definition at line 59 of file AtomicMWSRQueue.hpp.
RTT::internal::AtomicMWSRQueue< T >::AtomicMWSRQueue | ( | unsigned int | size | ) | [inline] |
Create an AtomicMWSRQueue with queue size size.
size | The size of the queue, should be 1 or greater. |
Definition at line 167 of file AtomicMWSRQueue.hpp.
bool RTT::internal::AtomicMWSRQueue< T >::dequeue | ( | T & | result | ) | [inline] |
Dequeue an item.
value | Stores the dequeued value. It is unchanged when dequeue returns false and contains the dequeued value when it returns true. |
Definition at line 247 of file AtomicMWSRQueue.hpp.
Referenced by RTT::base::BufferLockFree< T >::clear(), RTT::base::BufferLockFree< T >::Pop(), RTT::base::BufferLockFree< T >::PopWithoutRelease(), and RTT::ExecutionEngine::removeSelfFunction().
bool RTT::internal::AtomicMWSRQueue< T >::enqueue | ( | const T & | value | ) | [inline] |
Enqueue an item.
value | The value to enqueue. |
Definition at line 229 of file AtomicMWSRQueue.hpp.
Referenced by RTT::ExecutionEngine::process(), RTT::base::BufferLockFree< T >::Push(), RTT::ExecutionEngine::removeSelfFunction(), and RTT::ExecutionEngine::runFunction().
bool RTT::internal::AtomicMWSRQueue< T >::isEmpty | ( | ) | const [inline] |
Inspect if the Queue is empty.
Definition at line 197 of file AtomicMWSRQueue.hpp.
Referenced by RTT::base::BufferLockFree< T >::empty(), and RTT::ExecutionEngine::hasWork().
bool RTT::internal::AtomicMWSRQueue< T >::isFull | ( | ) | const [inline] |
Inspect if the Queue is full.
Definition at line 183 of file AtomicMWSRQueue.hpp.
Referenced by RTT::base::BufferLockFree< T >::full().