16 #ifdef DtUSE_UTILITIES_NAMESPACE
17 namespace DtUSE_UTILITIES_NAMESPACE
51 typedef void (*LockFunction)(
void*);
103 template <
typename T>
112 class ConstLockedProxy;
113 friend class SequenceLockImpl;
128 LockedProxy operator->();
132 ConstLockedProxy operator->()
const;
189 const T* operator->();
210 static void lock(
void*
object);
213 static void unlock(
void*
object);
235 #define vlThreadSafe_inl_
236 #include "vlThreadSafe.inl"
237 #undef vlThreadSafe_inl_
239 #ifdef DtUSE_UTILITIES_NAMESPACE
This file contains the declaration of DtMutex.
Contains DtScopedLock definition.
DtScopedLock myLock
Definition: vlThreadSafe.h:194
Private class that provides a locked call to the object.
Definition: vlThreadSafe.h:153
DtScopedLock * myExternalLock
The external lock which allows the sequence lock.
Definition: vlThreadSafe.h:226
DtScopedLock provides a Boost source compatible scoped lock for DtMutex.
Definition: vlScopedLock.h:37
DtMutex & myMutex
Definition: vlThreadSafe.h:170
Private class that provides a locked call to the const object.
Definition: vlThreadSafe.h:176
T myValue
Value which is to be thread safe.
Definition: vlThreadSafe.h:223
DtScopedLock myLock
Definition: vlThreadSafe.h:171
LockFunction myUnlockCallback
The release lock callback.
Definition: vlThreadSafe.h:69
LockFunction myLockCallback
The acquire lock callback.
Definition: vlThreadSafe.h:66
DtMutex myMutex
The mutex which is used to make the object thread safe.
Definition: vlThreadSafe.h:232
instances of DtMutex are used to provide a platform independent mutual exclusion mechanism ...
Definition: vlMutex.h:31
Private class which implements the Sequence lock.
Definition: vlThreadSafe.h:200
const T * myValue
Definition: vlThreadSafe.h:192
DtMutex myLockMutex
The mutex which is used to lock when created the external lock.
Definition: vlThreadSafe.h:229
void * myObject
The object to pass to the callbacks.
Definition: vlThreadSafe.h:72
A scoped sequence lock.
Definition: vlThreadSafe.h:47
a thread safe interface to a value.
Definition: vlThreadSafe.h:104
This file contains typedefs for machine dependant types.
T * myValue
Definition: vlThreadSafe.h:169
DtMutex & myMutex
Definition: vlThreadSafe.h:193
#define DT_DLL_VLUTIL
Definition: vlMachineTypes.h:109