/// As long as the predicate is false, wait for the given amount of seconds (specified as a plain double)
template <class P> bool wait_for(const std::unique_lock<s4u::Mutex>& lock, double duration, P pred)
{
/// As long as the predicate is false, wait for the given amount of seconds (specified as a plain double)
template <class P> bool wait_for(const std::unique_lock<s4u::Mutex>& lock, double duration, P pred)
{