40template <
typename Event = detail::MutexEvent,
typename Clock,
typename Duration,
typename Iterator>
41YACLIB_INLINE std::enable_if_t<is_waitable_with_timeout_v<typename std::iterator_traits<Iterator>::reference>,
bool>
59template <
typename Event = detail::MutexEvent,
typename Clock,
typename Duration,
typename Iterator>
60YACLIB_INLINE std::enable_if_t<is_waitable_with_timeout_v<typename std::iterator_traits<Iterator>::reference>,
bool>
#define YACLIB_ASSERT(cond)
YACLIB_INLINE std::enable_if_t<(... &&is_waitable_with_timeout_v< Waited >), bool > WaitUntil(const std::chrono::time_point< Clock, Duration > &timeout_time, Waited &... fs) noexcept
Wait until specified time has been reached or Ready becomes true.
Contract< V, E > MakeContract()
Creates related future and promise.