8#if !ALIB_SINGLE_THREADED
60 #if !ALIB_DEBUG && !DOXYGEN
61 std::shared_mutex
mutex;
69 std::shared_timed_mutex
mutex;
82 #if ALIB_DEBUG_CRITICAL_SECTIONS
102 #if ALIB_DEBUG || DOXYGEN
144 #if ALIB_DEBUG || DOXYGEN
ALIB_DLL bool TryAcquire(ALIB_DBG_TAKE_CI)
std::atomic< int > DbgWarningMaximumShared
ALIB_DLL void Release(ALIB_DBG_TAKE_CI)
DbgSharedLockAsserter Dbg
The debug tool instance.
ALIB_DLL void ReleaseShared(ALIB_DBG_TAKE_CI)
virtual ALIB_DLL bool DCSIsSharedAcquired() const override
ALIB_DLL void AcquireShared(ALIB_DBG_TAKE_CI)
~SharedLock() override
Destructor. With debug-compilations, asserts that this lock is not acquired.
ALIB_DLL bool TryAcquireShared(ALIB_DBG_TAKE_CI)
virtual ALIB_DLL bool DCSIsAcquired() const override
ALIB_DLL void Acquire(ALIB_DBG_TAKE_CI)
#define ALIB_DEBUG_CRITICAL_SECTIONS
threads::SharedLock SharedLock
Type alias in namespace alib.
void AssertNotOwned(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)