4#include <condition_variable>
20 template <
typename EXCEPTION>
24 if (Time::GetTickCount () >= afterTickCount) [[unlikely]] {
25 Throw (forward<EXCEPTION> (exception2Throw));
32 if (Time::GetTickCount () >= afterTickCount) [[unlikely]] {
43 template <
typename EXCEPTION>
44 inline void ThrowIfTimeout (cv_status conditionVariableStatus, EXCEPTION&& exception2Throw)
46 if (conditionVariableStatus == cv_status::timeout) {
47 Throw (forward<EXCEPTION> (exception2Throw));
52 if (conditionVariableStatus == cv_status::timeout) {
time_point< RealtimeClock, DurationSeconds > TimePointSeconds
TimePointSeconds is a simpler approach to chrono::time_point, which doesn't require using templates e...
void CheckForInterruption()
void ThrowTimeoutExceptionAfter(Time::TimePointSeconds afterTickCount, EXCEPTION &&exception2Throw)
How Stroika reports a timeout.
void ThrowIfTimeout(cv_status conditionVariableStatus, EXCEPTION &&exception2Throw)
Throw a timeout (.
void Throw(T &&e2Throw)
like the builtin C++ 'throw', but stamps in the current Activity context and does helpful,...
void ThrowError(error_code ec)
throw a SystemErrorException with the given error_code - or std::bad_alloc for errc::not_enough_memor...