Orocos Real-Time Toolkit
2.9.0
|
An atomic, non-blocking single ended queue (FIFO) for storing a pointer to T. More...
#include <rtt/internal/AtomicQueue.hpp>
Public Types | |
typedef unsigned int | size_type |
Public Member Functions | |
virtual | ~AtomicQueue () |
virtual bool | isFull () const =0 |
Inspect if the Queue is full. More... | |
virtual bool | isEmpty () const =0 |
Inspect if the Queue is empty. More... | |
virtual size_type | capacity () const =0 |
Return the maximum number of items this queue can contain. More... | |
virtual size_type | size () const =0 |
Return the exact number of elements in the queue. More... | |
virtual bool | enqueue (const T &value)=0 |
Enqueue an item. More... | |
virtual bool | dequeue (T &result)=0 |
Dequeue an item. More... | |
virtual const T | front () const =0 |
Return the next to be read value. More... | |
virtual void | clear ()=0 |
Clear all contents of the Queue and thus make it empty. More... | |
An atomic, non-blocking single ended queue (FIFO) for storing a pointer to T.
T | The pointer type to be stored in the Queue. Example : AtomicQueue< A* > is a queue of pointers to A. |
Definition at line 57 of file AtomicQueue.hpp.
typedef unsigned int RTT::internal::AtomicQueue< T >::size_type |
Definition at line 60 of file AtomicQueue.hpp.
|
inlinevirtual |
Definition at line 62 of file AtomicQueue.hpp.
|
pure virtual |
Return the maximum number of items this queue can contain.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::capacity(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Clear all contents of the Queue and thus make it empty.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Dequeue an item.
value | The value dequeued. |
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::clear(), RTT::base::BufferLockFree< T >::Pop(), RTT::base::BufferLockFree< T >::PopWithoutRelease(), RTT::base::BufferLockFree< T >::Push(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Enqueue an item.
value | The value to enqueue, not zero. |
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::Push(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Return the next to be read value.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Inspect if the Queue is empty.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::empty(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Inspect if the Queue is full.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::full(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().
|
pure virtual |
Return the exact number of elements in the queue.
This is slow because it scans the whole queue.
Implemented in RTT::internal::AtomicMWMRQueue< T >, and RTT::internal::AtomicMWSRQueue< T >.
Referenced by RTT::base::BufferLockFree< T >::Push(), RTT::base::BufferLockFree< T >::size(), and RTT::internal::AtomicQueue< Item * >::~AtomicQueue().