PlatformSpecific::LockingObjPtr< T > Class Template Reference

#include <Platform.hpp>

List of all members.


Detailed Description

template<class T>
class PlatformSpecific::LockingObjPtr< T >

This template wraps a volatile object and give access to it while this object is alive This provides enormous advantages, as accessing the volatile object while protected will fail at compile time (and not runtime), so the binary is guaranteed to be thread-access safe.

This object however doesn't ensure any deadlock protection, so the only way to avoid deadlock is to lock the object is the same order in all threads.

See also:
FastLock


Public Member Functions

 LockingObjPtr (volatile T &obj, volatile FastLock &mtx)
T & operator * ()
T * operator-> ()
 ~LockingObjPtr ()


Constructor & Destructor Documentation

template<class T>
PlatformSpecific::LockingObjPtr< T >::LockingObjPtr ( volatile T &  obj,
volatile FastLock mtx 
) [inline]

template<class T>
PlatformSpecific::LockingObjPtr< T >::~LockingObjPtr (  )  [inline]


Member Function Documentation

template<class T>
T& PlatformSpecific::LockingObjPtr< T >::operator * (  )  [inline]

template<class T>
T* PlatformSpecific::LockingObjPtr< T >::operator-> (  )  [inline]


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

(C) An X-Ryl669 project 2007

This document describes Unlimited Zooming Interface source code. UZI stands for Unlimited Zooming Interface, and source code license is