- void wait(MutexPtr lock);
- void wait(std::unique_lock<Mutex> & lock);
- template <class P> void wait(std::unique_lock<Mutex> & lock, P pred)
+public:
+ /** Create a new condition variable and return a smart pointer
+ *
+ * @beginrst
+ * You should only manipulate :cpp:type:`simgrid::s4u::ConditionVariablePtr`, as created by this function (see also :ref:`s4u_raii`).
+ * @endrst
+ */
+ static ConditionVariablePtr create();
+
+ /// Wait until notification, with no timeout
+ void wait(s4u::MutexPtr lock);
+ /// Wait until notification, with no timeout
+ void wait(const std::unique_lock<s4u::Mutex>& lock);
+ template <class P> void wait(const std::unique_lock<Mutex>& lock, P pred)