30 #ifndef THREAD_WINDOWS_COND_HXX 31 #define THREAD_WINDOWS_COND_HXX 41 CONDITION_VARIABLE cond;
45 InitializeConditionVariable(&cond);
52 WakeConditionVariable(&cond);
56 WakeAllConditionVariable(&cond);
61 return SleepConditionVariableCS(&cond, &mutex.critical_section,
67 std::chrono::steady_clock::duration timeout) {
68 auto timeout_ms = std::chrono::duration_cast<std::chrono::milliseconds>(timeout).count();
69 return timed_wait(mutex, timeout_ms);
73 timed_wait(mutex, INFINITE);
Wrapper for a CONDITION_VARIABLE, backend for the Cond class.
Wrapper for a CRITICAL_SECTION, backend for the Mutex class.
bool timed_wait(CriticalSection &mutex, std::chrono::steady_clock::duration timeout)
void wait(CriticalSection &mutex)
WindowsCond & operator=(const WindowsCond &other)=delete