X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cb6448e71a64791c262d6c40c050cc0b8d8ed184..cc14b4de408850d5efb523c8da5b26d0fcfd0a1f:/include/simgrid/s4u/conditionVariable.hpp diff --git a/include/simgrid/s4u/conditionVariable.hpp b/include/simgrid/s4u/conditionVariable.hpp index 9c9c58ac65..252a4f153f 100644 --- a/include/simgrid/s4u/conditionVariable.hpp +++ b/include/simgrid/s4u/conditionVariable.hpp @@ -6,6 +6,7 @@ #ifndef SIMGRID_S4U_COND_VARIABLE_HPP #define SIMGRID_S4U_COND_VARIABLE_HPP +#include #include #include // std::swap @@ -51,7 +52,20 @@ public: * Wait functions */ void wait(std::unique_lock& lock); - void wait_for(std::unique_lock& lock, double time); + // TODO, return std::cv_status + std::cv_status 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 + // TODO,wait_until /** * Notify functions