MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
Mezzanine::Threading::ReadOnlyLockGuard< T > Class Template Reference

Read only lock guard. More...

#include <readwritespinlock.h>

Public Types

typedef T mutex_type
 This allows other code to use the type of this mutex in a more safe way.
 

Public Member Functions

 ReadOnlyLockGuard (mutex_type &aMutex)
 The constructor locks the mutex. More...
 
 ~ReadOnlyLockGuard ()
 The destructor unlocks the mutex.
 

Detailed Description

template<class T>
class Mezzanine::Threading::ReadOnlyLockGuard< T >

Read only lock guard.

The constructor locks the mutex, and the destructor unlocks the mutex, so the mutex will automatically be unlocked when the lock guard goes out of scope. Example usage:

ReadWriteSpinLock m;
ClassThatIsWrittenInAnotherThread n;
ClassThatIsWrittenInAnotherThread GetCurrent()
{
ReadOnlyLockGuard<ReadWriteSpinLock> guard(m);
return n; // returns a copy guaranteed to be valid because
// the lock (which is attempted in the constructor
// of the guard) could not be acquired until only
// readers want it.
}

Definition at line 138 of file readwritespinlock.h.

Constructor & Destructor Documentation

template<class T >
Mezzanine::Threading::ReadOnlyLockGuard< T >::ReadOnlyLockGuard ( mutex_type aMutex)
inlineexplicit

The constructor locks the mutex.

Parameters
aMutexAny mutex which implements lock() and unlock().

Definition at line 152 of file readwritespinlock.h.


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