5#include <yaclib_std/chrono>
6#include <yaclib_std/mutex>
12template <
typename Impl>
24 template <
typename Lock>
28 template <
typename Lock,
typename Predicate>
33 template <
typename Lock,
typename Rep,
typename Period>
34 std::cv_status
wait_for(Lock& lock,
const std::chrono::duration<Rep, Period>&
rel_time) {
38 template <
typename Lock,
typename Rep,
typename Period,
typename Predicate>
44 template <
typename Lock,
typename Clock,
typename Duration>
49 template <
typename Lock,
typename Clock,
typename Duration,
typename Predicate>
void wait(Lock &lock, Predicate &&stop_waiting)
bool wait_for(Lock &lock, const std::chrono::duration< Rep, Period > &rel_time, Predicate &&stop_waiting)
void notify_one() noexcept
void notify_all() noexcept
std::cv_status wait_for(Lock &lock, const std::chrono::duration< Rep, Period > &rel_time)
bool wait_until(Lock &lock, const std::chrono::time_point< Clock, Duration > &timeout_time, Predicate &&stop_waiting)
std::cv_status wait_until(Lock &lock, const std::chrono::time_point< Clock, Duration > &timeout_time)
#define YACLIB_INJECT_FAULT(statement)
Contract< V, E > MakeContract()
Creates related future and promise.