Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
RTT::internal::LockedQueue< T > Class Template Reference

#include <LockedQueue.hpp>

Public Types

typedef unsigned int size_type
 
typedef T value_t
 

Public Member Functions

value_t back () const
 
size_type capacity () const
 
void clear ()
 
bool dequeue (T &result)
 
bool enqueue (const T &value)
 
value_t front () const
 
bool isEmpty () const
 
bool isFull () const
 
 LockedQueue (unsigned int lsize)
 
size_type size () const
 
 ~LockedQueue ()
 

Private Types

typedef std::deque< value_tBufferType
 
typedef BufferType::const_iterator CIterator
 
typedef BufferType::iterator Iterator
 

Private Attributes

unsigned int cap
 
BufferType data
 
os::Mutex lock
 

Detailed Description

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

A lock-based queue implementation to enqueue or dequeue a pointer of type T. No memory allocation is done during read or write.

Parameters
TThe pointer type to be stored in the queue. Example : LockedQueue<A*> is a queue which holds values of type A.

Definition at line 58 of file LockedQueue.hpp.

Member Typedef Documentation

template<class T >
typedef std::deque<value_t> RTT::internal::LockedQueue< T >::BufferType
private

Definition at line 63 of file LockedQueue.hpp.

template<class T >
typedef BufferType::const_iterator RTT::internal::LockedQueue< T >::CIterator
private

Definition at line 65 of file LockedQueue.hpp.

template<class T >
typedef BufferType::iterator RTT::internal::LockedQueue< T >::Iterator
private

Definition at line 64 of file LockedQueue.hpp.

template<class T >
typedef unsigned int RTT::internal::LockedQueue< T >::size_type

Definition at line 71 of file LockedQueue.hpp.

template<class T >
typedef T RTT::internal::LockedQueue< T >::value_t

Definition at line 61 of file LockedQueue.hpp.

Constructor & Destructor Documentation

template<class T >
RTT::internal::LockedQueue< T >::LockedQueue ( unsigned int  lsize)
inline

Create a lock-based queue wich can store lsize elements.

Parameters
lsizethe capacity of the queue. '

Definition at line 77 of file LockedQueue.hpp.

template<class T >
RTT::internal::LockedQueue< T >::~LockedQueue ( )
inline

Definition at line 84 of file LockedQueue.hpp.

Member Function Documentation

template<class T >
value_t RTT::internal::LockedQueue< T >::back ( ) const
inline

Returns the last element of the queue.

Definition at line 172 of file LockedQueue.hpp.

template<class T >
size_type RTT::internal::LockedQueue< T >::capacity ( ) const
inline

Definition at line 87 of file LockedQueue.hpp.

template<class T >
void RTT::internal::LockedQueue< T >::clear ( )
inline

Definition at line 118 of file LockedQueue.hpp.

template<class T >
bool RTT::internal::LockedQueue< T >::dequeue ( T &  result)
inline

Dequeue an item.

Parameters
resultThe value dequeued.
Returns
false if queue is empty, true if dequeued.

Definition at line 145 of file LockedQueue.hpp.

template<class T >
bool RTT::internal::LockedQueue< T >::enqueue ( const T &  value)
inline

Enqueue an item.

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

Definition at line 129 of file LockedQueue.hpp.

template<class T >
value_t RTT::internal::LockedQueue< T >::front ( ) const
inline

Returns the first element of the queue.

Definition at line 160 of file LockedQueue.hpp.

template<class T >
bool RTT::internal::LockedQueue< T >::isEmpty ( ) const
inline

Inspect if the Queue is empty.

Returns
true if empty, false otherwise.

Definition at line 102 of file LockedQueue.hpp.

template<class T >
bool RTT::internal::LockedQueue< T >::isFull ( ) const
inline

Inspect if the Queue is full.

Returns
true if full, false otherwise.

Definition at line 112 of file LockedQueue.hpp.

template<class T >
size_type RTT::internal::LockedQueue< T >::size ( ) const
inline

Definition at line 92 of file LockedQueue.hpp.

Member Data Documentation

template<class T >
unsigned int RTT::internal::LockedQueue< T >::cap
private

Definition at line 69 of file LockedQueue.hpp.

template<class T >
BufferType RTT::internal::LockedQueue< T >::data
private

Definition at line 67 of file LockedQueue.hpp.

template<class T >
os::Mutex RTT::internal::LockedQueue< T >::lock
mutableprivate

Definition at line 66 of file LockedQueue.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47