4#ifndef _Stroika_Foundation_Execution_TimeOutException_h_
5#define _Stroika_Foundation_Execution_TimeOutException_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
9#include <condition_variable>
11#include "Stroika/Foundation/Execution/Exceptions.h"
89 template <
typename EXCEPTION>
96 template <
typename TIMED_MUTEX,
typename EXCEPTION>
98 template <
typename TIMED_MUTEX>
104 template <
typename EXCEPTION>
105 void ThrowIfTimeout (cv_status conditionVariableStatus, EXCEPTION&& exception2Throw);
116 template <
typename TIMED_MUTEX,
typename EXCEPTION>
117 unique_lock<TIMED_MUTEX>
UniqueLock (TIMED_MUTEX& m,
const chrono::duration<double>& d, EXCEPTION&& exception2Throw);
118 template <
typename TIMED_MUTEX>
119 unique_lock<TIMED_MUTEX>
UniqueLock (TIMED_MUTEX& m,
const chrono::duration<double>& d);
128#include "TimeOutException.inl"
time_point< RealtimeClock, DurationSeconds > TimePointSeconds
TimePointSeconds is a simpler approach to chrono::time_point, which doesn't require using templates e...
String is like std::u32string, except it is much easier to use, often much more space efficient,...
static const TimeOutException kThe
unique_lock< TIMED_MUTEX > UniqueLock(TIMED_MUTEX &m, const chrono::duration< double > &d, EXCEPTION &&exception2Throw)
void ThrowTimeOutException()
Execution::Throw (Execution::TimeOutException::kThe); but can be more easily forward-declared,...
void ThrowTimeoutExceptionAfter(Time::TimePointSeconds afterTickCount, EXCEPTION &&exception2Throw)
Throw TimeOutException if the @Time::GetTickCount () is >= the given value.
void ThrowIfTimeout(cv_status conditionVariableStatus, EXCEPTION &&exception2Throw)
void TryLockUntil(TIMED_MUTEX &m, Time::TimePointSeconds afterTickCount, EXCEPTION &&exception2Throw)