8#if !ALIB_SINGLE_THREADED
69 #if ALIB_DEBUG_CRITICAL_SECTIONS
83 #if ALIB_DEBUG || DOXYGEN
180 #if ALIB_DEBUG || DOXYGEN
258 #if ALIB_DEBUG || DOXYGEN
#define ALIB_DEBUG_CRITICAL_SECTIONS
virtual bool DCSIsSharedAcquired() const override
DbgSharedLockAsserter Dbg
The debug tool instance.
std::shared_timed_mutex mutex
The internal object to lock on.
bool TryAcquireSharedTimed(const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci)
virtual bool DCSIsAcquired() const override
bool TryAcquireSharedTimed(const Ticks::TTimePoint &pointInTime, const CallerInfo &ci)
void AcquireShared(ALIB_DBG_TAKE_CI)
bool TryAcquireTimed(const Ticks &pointInTime, const CallerInfo &ci)
void Acquire(ALIB_DBG_TAKE_CI)
bool TryAcquireShared(ALIB_DBG_TAKE_CI)
bool TryAcquireTimed(const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci)
std::atomic< int > DbgWarningMaximumShared
bool TryAcquireSharedTimed(const Ticks &pointInTime, const CallerInfo &ci)
bool TryAcquireTimed(const Ticks::TTimePoint &pointInTime, const CallerInfo &ci)
void ReleaseShared(ALIB_DBG_TAKE_CI)
bool TryAcquireTimed(const Ticks::Duration &waitDuration, const CallerInfo &ci)
bool TryAcquireSharedTimed(const Ticks::Duration &waitDuration, const CallerInfo &ci)
void Release(ALIB_DBG_TAKE_CI)
bool TryAcquire(ALIB_DBG_TAKE_CI)
typename std::chrono::steady_clock::time_point TTimePoint
threads::SharedTimedLock SharedTimedLock
Type alias in namespace alib.
lang::CallerInfo CallerInfo
Type alias in namespace alib.
time::Ticks Ticks
Type alias in namespace alib.