Lunchbox  1.6.0
Public Member Functions
lunchbox::ScopedMutex< L, T > Class Template Reference

A scoped mutex. More...

#include <scopedMutex.h>

List of all members.

Public Member Functions

 ScopedMutex (L *lock)
 Construct a new scoped mutex and set the given lock.
 ScopedMutex (L &lock)
 Construct a new scoped mutex and set the given lock.
 ScopedMutex (const ScopedMutex &rhs)
 Move lock from rhs to new mutex.
ScopedMutexoperator= (ScopedMutex &rhs)
 Move lock from rhs to this mutex.
template<typename LB >
 ScopedMutex (const LB &lockable)
 Construct a new scoped mutex for the given Lockable data structure.
 ~ScopedMutex ()
 Destruct the scoped mutex and unset the mutex.
void leave ()
 Leave and unlock the mutex immediately.

Detailed Description

template<class L = Lock, class T = WriteOp>
class lunchbox::ScopedMutex< L, T >

A scoped mutex.

The mutex is automatically set upon creation, and released when the scoped mutex is destroyed, e.g., when the scope is left. The scoped mutex does nothing if a 0 pointer for the lock is passed.

Definition at line 58 of file scopedMutex.h.


Constructor & Destructor Documentation

template<class L = Lock, class T = WriteOp>
lunchbox::ScopedMutex< L, T >::ScopedMutex ( L *  lock) [inline, explicit]

Construct a new scoped mutex and set the given lock.

Providing no Lock (0) is allowed, in which case the scoped mutex does nothing.

Parameters:
lockthe mutex to set and unset, or 0.
Version:
1.0

Definition at line 72 of file scopedMutex.h.

template<class L = Lock, class T = WriteOp>
lunchbox::ScopedMutex< L, T >::ScopedMutex ( L &  lock) [inline, explicit]

Construct a new scoped mutex and set the given lock.

Version:
1.0

Definition at line 76 of file scopedMutex.h.

template<class L = Lock, class T = WriteOp>
lunchbox::ScopedMutex< L, T >::ScopedMutex ( const ScopedMutex< L, T > &  rhs) [inline]

Move lock from rhs to new mutex.

Version:
1.5

Definition at line 80 of file scopedMutex.h.

template<class L = Lock, class T = WriteOp>
template<typename LB >
lunchbox::ScopedMutex< L, T >::ScopedMutex ( const LB &  lockable) [inline, explicit]

Construct a new scoped mutex for the given Lockable data structure.

Version:
1.0

Definition at line 98 of file scopedMutex.h.

template<class L = Lock, class T = WriteOp>
lunchbox::ScopedMutex< L, T >::~ScopedMutex ( ) [inline]

Destruct the scoped mutex and unset the mutex.

Version:
1.0

Definition at line 102 of file scopedMutex.h.

References lunchbox::ScopedMutex< L, T >::leave().

+ Here is the call graph for this function:


Member Function Documentation

template<class L = Lock, class T = WriteOp>
void lunchbox::ScopedMutex< L, T >::leave ( ) [inline]

Leave and unlock the mutex immediately.

Version:
1.0

Definition at line 105 of file scopedMutex.h.

Referenced by lunchbox::ScopedMutex< L, T >::~ScopedMutex().

+ Here is the caller graph for this function:

template<class L = Lock, class T = WriteOp>
ScopedMutex& lunchbox::ScopedMutex< L, T >::operator= ( ScopedMutex< L, T > &  rhs) [inline]

Move lock from rhs to this mutex.

Version:
1.5

Definition at line 84 of file scopedMutex.h.


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