Orocos Real-Time Toolkit  2.5.0
Public Types | Public Member Functions
RTT::internal::MWSRQueue< T > Class Template Reference

This object represents the default Multi-Writer, Single-Reader queue implementation used by Orocos objects. More...

#include <rtt/internal/MWSRQueue.hpp>

Inheritance diagram for RTT::internal::MWSRQueue< T >:
RTT::internal::AtomicMWSRQueue< T >

List of all members.

Public Types

typedef unsigned int size_type

Public Member Functions

 MWSRQueue (int qsize)
 Create a mw/sr queue of fixed 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.

Detailed Description

template<class T>
class RTT::internal::MWSRQueue< T >

This object represents the default Multi-Writer, Single-Reader queue implementation used by Orocos objects.

Definition at line 66 of file MWSRQueue.hpp.


Member Function Documentation

template<class T>
bool RTT::internal::AtomicMWSRQueue< T >::dequeue ( T &  result) [inline, inherited]

Dequeue an item.

Parameters:
valueStores the dequeued value. It is unchanged when dequeue returns false and contains the dequeued value when it returns true.
Returns:
false if queue is empty, true if result was written.

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().

template<class T>
bool RTT::internal::AtomicMWSRQueue< T >::enqueue ( const T &  value) [inline, inherited]

Enqueue an item.

Parameters:
valueThe value to enqueue.
Returns:
false if queue is full, true if queued.

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().

template<class T>
bool RTT::internal::AtomicMWSRQueue< T >::isEmpty ( ) const [inline, inherited]

Inspect if the Queue is empty.

Returns:
true if empty, false otherwise.

Definition at line 197 of file AtomicMWSRQueue.hpp.

Referenced by RTT::base::BufferLockFree< T >::empty(), and RTT::ExecutionEngine::hasWork().

template<class T>
bool RTT::internal::AtomicMWSRQueue< T >::isFull ( ) const [inline, inherited]

Inspect if the Queue is full.

Returns:
true if full, false otherwise.

Definition at line 183 of file AtomicMWSRQueue.hpp.

Referenced by RTT::base::BufferLockFree< T >::full().


The documentation for this class was generated from the following file: