std::cv_status wait_for(std::unique_lock<Mutex> & lock, double duration);
template <class P> bool wait_until(std::unique_lock<Mutex> & lock, double timeout_time, P pred)
{
std::cv_status wait_for(std::unique_lock<Mutex> & lock, double duration);
template <class P> bool wait_until(std::unique_lock<Mutex> & lock, double timeout_time, P pred)
{