8#ifndef HPP_ALIB_THREADS_DBGLOCKS
9#define HPP_ALIB_THREADS_DBGLOCKS 1
33 const char*
Name =
"<unnamed>";
87 Ticks::Duration
WaitTimeLimit = Ticks::Duration::FromAbsoluteSeconds(2);
143 DoAssert( 0, assertCI, ci, headline );
153 DoAssert( 0, assertCI, ci, headline );
163 DoAssert( 0, assertCI, ci, headline );
173 DoAssert( 0, assertCI, ci, headline);
183 DoAssert( 0, assertCI, ci, headline);
264 const NString& headline )
override;
283 DoAssert( 0, assertCI, ci, headline );
threads::Thread Thread
Type alias in namespace alib.
std::thread::id ThreadID
The ID of the calling thread.
ALIB_API Thread * GetOwner() const
virtual ~DbgLockAsserter()
Destructor.
int16_t CntAcquirements
The number of nested acquirements.
void AssertNotOwned(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
void AssertNotOwning(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
bool IsOwnedByCurrentThread() const
CallerInfo AcqCI
Source location of the most recent acquirement.
void AssertNotOwnedOrMe(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
CallerInfo RelCI
Source location of the most recent release.
void AssertOwning(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
virtual ALIB_API void DoAssert(int type, const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
Ticks::Duration WaitTimeLimit
static ALIB_API NString ASSERTION_FORMAT
bool WillRelease() const noexcept
void AssertOwned(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
void AssertNotOwned(const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline)
std::atomic< int > CntSharedAcquirements
The number of shared acquirements.
bool IsSharedOwnedByAnyThread() const
CallerInfo SAcqCI
Source location of the most recent shared acquirement.
virtual ~DbgSharedLockAsserter() override
Destructor.
ALIB_API void DoAssert(int type, const CallerInfo &assertCI, const CallerInfo &ci, const NString &headline) override
CallerInfo SRelCI
Source location of the most recent shared release.
static ALIB_API NString ASSERTION_FORMAT_SHARED