X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a88a4036e14334a7a01fc40a7d547687ba6dee38..851011012031214525df480e2c5abddb490228fe:/include/simgrid/s4u/conditionVariable.hpp?ds=sidebyside diff --git a/include/simgrid/s4u/conditionVariable.hpp b/include/simgrid/s4u/conditionVariable.hpp index 9c9c58ac65..ce06ef00ca 100644 --- a/include/simgrid/s4u/conditionVariable.hpp +++ b/include/simgrid/s4u/conditionVariable.hpp @@ -51,7 +51,25 @@ public: * Wait functions */ void wait(std::unique_lock& lock); - void wait_for(std::unique_lock& lock, double time); + // TODO, return std::cv_status + void wait_for(std::unique_lock& lock, double duration); + // TODO, wait_until + + /** Variant which takes a predice */ + template + void wait(std::unique_lock& lock, P pred) + { + while (!pred()) + wait(lock); + } + // TODO, return std::cv_status + template + void wait_for(std::unique_lock& lock, double duration, P pred) + { + while (!pred()) + wait_for(lock, duration); + } + // TODO,wait_until /** * Notify functions