Fawkes API  Fawkes Development Version
fawkes::RWLockQueue< Type > Class Template Reference

Queue with a read/write lock. More...

#include <>>

Inheritance diagram for fawkes::RWLockQueue< Type >:

Public Member Functions

 RWLockQueue ()
 Constructor. More...
 
 RWLockQueue (const RWLockQueue< Type > &ll)
 Copy constructor. More...
 
virtual ~RWLockQueue ()
 Destructor. More...
 
void lock_for_read ()
 Lock queue for reading. More...
 
void lock_for_write ()
 Lock queue for writing. More...
 
bool try_lock_for_read ()
 Try to lock queue for reading. More...
 
bool try_lock_for_write ()
 Try to lock queue for writing. More...
 
void unlock ()
 Unlock list. More...
 
RefPtr< ReadWriteLockrwlock () const
 Get access to the internal rwlock. More...
 
void push_locked (const Type &x)
 Push element to queue with lock protection. More...
 
void pop_locked ()
 Pop element from queue with lock protection. More...
 
void clear ()
 Clear the queue. More...
 

Detailed Description

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

Queue with a read/write lock.

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

See also
ReadWriteLock
Author
Tim Niemueller

Definition at line 35 of file rwlock_queue.h.

Constructor & Destructor Documentation

◆ RWLockQueue() [1/2]

template<typename Type >
fawkes::RWLockQueue< Type >::RWLockQueue ( )

Constructor.

Definition at line 75 of file rwlock_queue.h.

◆ RWLockQueue() [2/2]

template<typename Type >
fawkes::RWLockQueue< Type >::RWLockQueue ( const RWLockQueue< Type > &  ll)

Copy constructor.

Parameters
llRWLockQueue to copy

Definition at line 85 of file rwlock_queue.h.

◆ ~RWLockQueue()

template<typename Type >
fawkes::RWLockQueue< Type >::~RWLockQueue ( )
virtual

Destructor.

Definition at line 94 of file rwlock_queue.h.

Member Function Documentation

◆ clear()

template<typename Type >
void fawkes::RWLockQueue< Type >::clear ( )

Clear the queue.

Definition at line 177 of file rwlock_queue.h.

◆ lock_for_read()

template<typename Type >
void fawkes::RWLockQueue< Type >::lock_for_read ( )

Lock queue for reading.

Definition at line 103 of file rwlock_queue.h.

◆ lock_for_write()

template<typename Type >
void fawkes::RWLockQueue< Type >::lock_for_write ( )

Lock queue for writing.

Definition at line 112 of file rwlock_queue.h.

◆ pop_locked()

template<typename Type >
void fawkes::RWLockQueue< Type >::pop_locked ( )

Pop element from queue with lock protection.

Definition at line 166 of file rwlock_queue.h.

◆ push_locked()

template<typename Type >
void fawkes::RWLockQueue< Type >::push_locked ( const Type &  x)

Push element to queue with lock protection.

Parameters
xelement to add

Definition at line 154 of file rwlock_queue.h.

◆ rwlock()

template<typename Type >
ReadWriteLock * fawkes::RWLockQueue< Type >::rwlock ( ) const

Get access to the internal rwlock.

Can be used with RwlockLocker.

Returns
internal rwlock

Definition at line 193 of file rwlock_queue.h.

◆ try_lock_for_read()

template<typename Type >
bool fawkes::RWLockQueue< Type >::try_lock_for_read ( )

Try to lock queue for reading.

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

Definition at line 123 of file rwlock_queue.h.

◆ try_lock_for_write()

template<typename Type >
bool fawkes::RWLockQueue< Type >::try_lock_for_write ( )

Try to lock queue for writing.

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

Definition at line 134 of file rwlock_queue.h.

◆ unlock()

template<typename Type >
void fawkes::RWLockQueue< Type >::unlock ( )

Unlock list.

Definition at line 143 of file rwlock_queue.h.


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