carb::profiler::ProfiledSharedMutex
Defined in carb/profiler/Profile.h
- 
template<class Mutex>
 class ProfiledSharedMutex : public carb::profiler::ProfiledMutex<Mutex>
- Wrapper to add automatic profiling to a shared mutex. - Public Functions - 
inline ProfiledSharedMutex(const uint64_t profileMask, const char *name)
- Constructor. - Parameters
- profileMask – The mask used to determine if events from this mutex are captured. 
- name – The name of the mutex 
 
 
 - 
inline ProfiledSharedMutex(const carb::profiler::Channel &channel, const char *name)
- Constructor. - Parameters
- channel – The profiling channel used to determine if events from this mutex are captured. 
- name – The name of the mutex 
 
 
 - 
inline ~ProfiledSharedMutex()
- Destructor. 
 - 
inline void lock_shared()
- Locks the underlying mutex (shared) and reports the event to the profiler. 
 - 
inline bool try_lock_shared()
- Attempts a shared lock on the underlying mutex and reports the event to the profiler if successful. - Returns
- trueif successfully locked;- falseotherwise.
 
 - 
inline void unlock_shared()
- Unlocks (shared) the underlying mutex and reports the event to the profiler. 
 - 
inline void lock()
- Locks the underlying mutex and reports the event to the profiler. 
 - 
inline bool try_lock()
- Attempts a lock on the underlying mutex and reports the event to the profiler if successful. - Returns
- trueif successfully locked;- falseotherwise.
 
 - 
inline void unlock()
- Unlocks the underlying mutex and reports the event to the profiler. 
 - Protected Attributes - 
LockableId m_lockableId
- The lockable ID as returned by carb::profiler::IProfiler::createLockable() 
 
- 
inline ProfiledSharedMutex(const uint64_t profileMask, const char *name)