fawkes::LockQueue< Type > Class Template Reference
[Fawkes Core Library]

Queue with a lock. More...

#include <core/utils/lock_queue.h>

Inheritance diagram for fawkes::LockQueue< Type >:

List of all members.


Public Member Functions

 LockQueue ()
 Constructor.
 LockQueue (const LockQueue< Type > &ll)
 Copy constructor.
virtual ~LockQueue ()
 Destructor.
void lock ()
 Lock queue.
bool try_lock ()
 Try to lock queue.
void unlock ()
 Unlock list.
RefPtr< Mutexmutex () const
 Get access to the internal mutex.
void push_locked (const Type &x)
 Push element to queue with lock protection.
void pop_locked ()
 Pop element from queue with lock protection.
void clear ()
 Clear the queue.

Detailed Description

template<typename Type>
class fawkes::LockQueue< Type >

Queue with a lock.

This class provides a queue that has an intrinsic lock. The lock can be applied with the regular locking methods.

See also:
Mutex
Author:
Tim Niemueller

Definition at line 34 of file lock_queue.h.


Constructor & Destructor Documentation

template<typename Type >
fawkes::LockQueue< Type >::LockQueue (  )  [inline]

Constructor.

Definition at line 72 of file lock_queue.h.

template<typename Type>
fawkes::LockQueue< Type >::LockQueue ( const LockQueue< Type > &  ll  )  [inline]

Copy constructor.

Parameters:
ll LockQueue to copy

Definition at line 81 of file lock_queue.h.

template<typename Type >
fawkes::LockQueue< Type >::~LockQueue (  )  [inline, virtual]

Destructor.

Definition at line 88 of file lock_queue.h.


Member Function Documentation

template<typename Type >
RefPtr< Mutex > fawkes::LockQueue< Type >::mutex (  )  const [inline]

Get access to the internal mutex.

Can be used with MutexLocker.

Returns:
internal mutex

Definition at line 164 of file lock_queue.h.

template<typename Type >
void fawkes::LockQueue< Type >::pop_locked (  )  [inline]

Pop element from queue with lock protection.

Definition at line 138 of file lock_queue.h.

Referenced by fawkes::ConfigNetworkHandler::loop(), fawkes::PluginNetworkHandler::loop(), and fawkes::BlackBoardNetworkHandler::loop().

template<typename Type >
bool fawkes::LockQueue< Type >::try_lock (  )  [inline]

Try to lock queue.

Returns:
true, if the lock has been aquired, false otherwise.

Definition at line 106 of file lock_queue.h.


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