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

A scoped mutex. More...

#include <scopedMutex.h>

+ Inheritance diagram for lunchbox::ScopedMutex< L, T >:
+ Collaboration diagram for lunchbox::ScopedMutex< L, T >:

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.
template<typename LB >
 ScopedMutex (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 59 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 73 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 77 of file scopedMutex.h.

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

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

Version:
1.0

Definition at line 84 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 88 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 91 of file scopedMutex.h.

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

+ Here is the caller graph for this function:


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