The std::condition_variable class allows
a thread to wait for a condition to become true.
Instances of std::condition_variable are not CopyAssignable, CopyConstructible,
MoveAssignable or MoveConstructible.
class condition_variable { public: condition_variable(); ~condition_variable(); condition_variable(condition_variable const& ) = delete; condition_variable& operator=(condition_variable const& ) = delete; void notify_one(); void notify_all(); void wait(std::unique_lock<std::mutex>& lock); template <typename Predicate> void wait(std::unique_lock<std::mutex>& lock, Predicate pred); template <typename Clock, typename Duration> bool wait_until(std::unique_lock<std::mutex>& lock, const std::chrono::time_point<Clock, Duration>& absolute_time); template <typename Clock, typename Duration, typename Predicate> bool wait_until(std::unique_lock<std::mutex>& lock, const std::chrono::time_point<Clock, Duration>& absolute_time, Predicate pred); template <typename Rep, typename Period> bool wait_for(std::unique_lock<std::mutex>& lock, const std::chrono::duration<Rep, Period>& relative_time); template <typename Rep, typename Period, typename Predicate> bool wait_for(std::unique_lock<std::mutex>& lock, const std::chrono::duration<Rep, Period>& relative_time, Predicate pred); };
Header
#include <condition_variable>