Loki::LockingPtr< SharedObject, LockingPolicy > Class Template Reference

#include <LockingPtr.h>

List of all members.

Public Member Functions

 LockingPtr (volatile SharedObject &object, LockingPolicy &mutex)
 ~LockingPtr ()
 Destructor unlocks the mutex.
T & operator * ()
 Star-operator dereferences pointer.
T * operator-> ()
 Point-operator returns pointer to object.


Detailed Description

template<typename SharedObject, typename LockingPolicy>
class Loki::LockingPtr< SharedObject, LockingPolicy >

Locks a volatile object and casts away volatility so that the object can be safely used in a single-threaded region of code. Original version of LockingPtr had only one template - for the shared object, but not the mutex type. This version allows users to specify a the mutex type as a LockingPolicy class. The only requirements for a LockingPolicy class are to provide Lock and Unlock methods.


Constructor & Destructor Documentation

template<typename SharedObject, typename LockingPolicy>
Loki::LockingPtr< SharedObject, LockingPolicy >::LockingPtr volatile SharedObject &  object,
LockingPolicy &  mutex
[inline]
 

Constructor locks mutex associated with an object.

Parameters:
obj Reference to object.
mtx Mutex used to control thread access to object.


The documentation for this class was generated from the following file:
Generated on Mon Jan 9 09:34:36 2006 for Loki by  doxygen 1.4.5