50 Lock(SyncBase * s) : s(s), lk(s->mutex) { }
52 Lock(Lock && l) : s(l.s) { unreachable(); }
53 Lock(
const Lock & l) =
delete;
56 void wait(std::condition_variable & cv)
62 template<
class Rep,
class Period>
63 std::cv_status wait_for(std::condition_variable & cv,
64 const std::chrono::duration<Rep, Period> & duration)
67 return cv.wait_for(lk, duration);
70 template<
class Rep,
class Period,
class Predicate>
71 bool wait_for(std::condition_variable & cv,
72 const std::chrono::duration<Rep, Period> & duration,
76 return cv.wait_for(lk, duration, pred);
79 template<
class Clock,
class Duration>
80 std::cv_status wait_until(std::condition_variable & cv,
81 const std::chrono::time_point<Clock, Duration> & duration)
84 return cv.wait_until(lk, duration);