8#if !ALIB_SINGLE_THREADED && ALIB_DEBUG
23 const char*
Name =
"<unnamed>";
72 Ticks::Duration
WaitTimeLimit = Ticks::Duration::FromAbsoluteSeconds(2);
119 const char* headline );
128 DoAssert( 0, assertCI, ci, headline );
138 DoAssert( 0, assertCI, ci, headline );
148 DoAssert( 0, assertCI, ci, headline );
158 DoAssert( 0, assertCI, ci, headline);
168 DoAssert( 0, assertCI, ci, headline);
248 const char* headline )
override;
267 DoAssert( 0, assertCI, ci, headline );
336 const char* headline );
static Thread * GetCurrent()
lang::CallerInfo CallerInfo
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.
std::thread::id ThreadID
The ID of the calling thread.
std::thread::id AssertExclusiveWaiter
bool IsOwnedByCurrentThread() const
ALIB_DLL void Assert(bool cond, const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
CallerInfo NotifyCI
The most recent call to ReleaseAndNotify or.
const character * Name
The name of this instance.
static ALIB_DLL const char * ASSERTION_FORMAT
CallerInfo RelCI
Source location of the most recent release.
Thread * Owner
Tracks the current owner.
std::atomic< int > CntWaiters
The number of currently waiting threads.
CallerInfo AcqCI
Source location of the most recent acquirement.
CallerInfo WaitCI
The most recent call to WaitForNotification.
static ALIB_DLL const char * ASSERTION_FORMAT
bool IsOwnedByCurrentThread() const
CallerInfo RelCI
Source location of the most recent release.
int16_t CntAcquirements
The number of nested acquirements.
virtual ALIB_DLL void DoAssert(int type, const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
void AssertOwned(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
ALIB_DLL Thread * GetOwner() const
void AssertNotOwning(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
void AssertNotOwnedOrMe(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
bool WillRelease() const noexcept
void AssertOwning(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
CallerInfo AcqCI
Source location of the most recent acquirement.
virtual ~DbgLockAsserter()
Destructor.
Ticks::Duration WaitTimeLimit
void AssertNotOwned(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
bool IsSharedOwnedByAnyThread() const
CallerInfo SAcqCI
Source location of the most recent shared acquirement.
virtual ~DbgSharedLockAsserter() override
Destructor.
ALIB_DLL void DoAssert(int type, const CallerInfo &assertCI, const CallerInfo &ci, const char *headline) override
static ALIB_DLL const char * ASSERTION_FORMAT_SHARED
void AssertNotOwned(const CallerInfo &assertCI, const CallerInfo &ci, const char *headline)
std::atomic< int > CntSharedAcquirements
The number of shared acquirements.
CallerInfo SRelCI
Source location of the most recent shared release.