cisst-saw
|
#include <mtsQueue.h>
Public Types | |
typedef _elementType | value_type |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef size_t | size_type |
typedef size_t | index_type |
Public Member Functions | |
mtsQueue (void) | |
mtsQueue (size_type size, const_reference value) | |
~mtsQueue () | |
void | SetSize (size_type size, const_reference value) |
size_type | GetSize (void) const |
size_type | GetAvailable (void) const |
bool | IsFull (void) const |
bool | IsEmpty (void) const |
const_pointer | Put (const typename mtsGenericTypesUnwrap< value_type >::BaseType &newObject) |
pointer | Peek (void) const |
pointer | Get (void) |
Protected Member Functions | |
void | Allocate (size_type size, const_reference value) |
Protected Attributes | |
pointer | Data |
pointer | Head |
pointer | Tail |
pointer | Sentinel |
size_type | Size |
Defines a queue that can be accessed in a thread-safe manner, assuming that there is only one reader and one writer and that pointer updates are atomic.
typedef const value_type* mtsQueue< _elementType >::const_pointer |
typedef const value_type& mtsQueue< _elementType >::const_reference |
typedef size_t mtsQueue< _elementType >::index_type |
typedef value_type* mtsQueue< _elementType >::pointer |
typedef value_type& mtsQueue< _elementType >::reference |
typedef _elementType mtsQueue< _elementType >::value_type |
|
inline |
|
inlineprotected |
Pop the next object to be read from the queue.
Returns number of elements available in queue, i.e. the number of slots used.
Returns size of queue.
|
inline |
Returns true if queue is empty.
|
inline |
Returns true if queue is full.
Get a pointer to the next object to be read, but do not remove the item from the queue.
|
inline |
Copy an object to the queue.
in | reference to the object to be copied |
|
inline |
Sets the size of the queue (destructive, i.e. won't preserve previously queued elements).