VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
DtTracyScopedRwLock< T_Mutex, T_LockName > Class Template Reference

template<typename T_Mutex, char const * T_LockName = DtScopedRwLockDefaultName>
class DtTracyScopedRwLock< T_Mutex, T_LockName >

Template around a TBB RW Mutex lock which adds a tracy marker when the lock is waiting on the mutex. T_LockName is the text that shows in Tracy while waiting on the mutex.

Public Member Functions

 DtTracyScopedRwLock (T_Mutex &m, bool writeLock)
 
void acquire (T_Mutex &m, bool writeLock=true)
 
bool upgrade_to_writer ()
 
void release ()
 
bool downgrade_to_reader ()
 

Protected Attributes

T_Mutex::scoped_lock lock
 

Constructor & Destructor Documentation

template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
DtTracyScopedRwLock< T_Mutex, T_LockName >::DtTracyScopedRwLock ( T_Mutex &  m,
bool  writeLock 
)
inline

Member Function Documentation

template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
void DtTracyScopedRwLock< T_Mutex, T_LockName >::acquire ( T_Mutex &  m,
bool  writeLock = true 
)
inline
template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
bool DtTracyScopedRwLock< T_Mutex, T_LockName >::upgrade_to_writer ( )
inline
template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
void DtTracyScopedRwLock< T_Mutex, T_LockName >::release ( )
inline
template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
bool DtTracyScopedRwLock< T_Mutex, T_LockName >::downgrade_to_reader ( )
inline

Member Data Documentation

template<typename T_Mutex , char const * T_LockName = DtScopedRwLockDefaultName>
T_Mutex::scoped_lock DtTracyScopedRwLock< T_Mutex, T_LockName >::lock
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)