|
Orocos Real-Time Toolkit
2.9.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 AtomicQueue< T >::size_type | size_type |
Public Member Functions | |
| AtomicMWSRQueue (unsigned int size) | |
| Create an AtomicMWSRQueue with queue size size. More... | |
| ~AtomicMWSRQueue () | |
| bool | isFull () const |
| Inspect if the Queue is full. More... | |
| bool | isEmpty () const |
| Inspect if the Queue is empty. More... | |
| size_type | capacity () const |
| Return the maximum number of items this queue can contain. More... | |
| size_type | size () const |
| Return the number of elements in the queue. More... | |
| bool | enqueue (const T &value) |
| Enqueue an item. More... | |
| bool | dequeue (T &result) |
| Dequeue an item. More... | |
| const T | front () const |
| Return the next to be read value. More... | |
| void | clear () |
| Clear all contents of the Queue and thus make it empty. More... | |
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 60 of file AtomicMWSRQueue.hpp.
| typedef AtomicQueue<T>::size_type RTT::internal::AtomicMWSRQueue< T >::size_type |
Definition at line 163 of file AtomicMWSRQueue.hpp.
|
inline |
Create an AtomicMWSRQueue with queue size size.
| size | The size of the queue, should be 1 or greater. |
Definition at line 169 of file AtomicMWSRQueue.hpp.
References RTT::internal::AtomicMWSRQueue< T >::clear().
|
inline |
Definition at line 176 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Return the maximum number of items this queue can contain.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 210 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Clear all contents of the Queue and thus make it empty.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 270 of file AtomicMWSRQueue.hpp.
Referenced by RTT::internal::AtomicMWSRQueue< T >::AtomicMWSRQueue().
|
inlinevirtual |
Dequeue an item.
| value | Stores the dequeued value. It is unchanged when dequeue returns false and contains the dequeued value when it returns true. |
Implements RTT::internal::AtomicQueue< T >.
Definition at line 249 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Enqueue an item.
| value | The value to enqueue. |
Implements RTT::internal::AtomicQueue< T >.
Definition at line 231 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Return the next to be read value.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 262 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Inspect if the Queue is empty.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 199 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Inspect if the Queue is full.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 185 of file AtomicMWSRQueue.hpp.
|
inlinevirtual |
Return the number of elements in the queue.
Implements RTT::internal::AtomicQueue< T >.
Definition at line 218 of file AtomicMWSRQueue.hpp.
1.8.11