hpx/synchronization/condition_variable.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx

Enums

enum cv_status

Values:

no_timeout
timeout
error
class condition_variable

Public Functions

condition_variable()
~condition_variable()
void notify_one(error_code &ec = throws)
void notify_all(error_code &ec = throws)
template<typename Mutex>
void wait(std::unique_lock<Mutex> &lock, error_code &ec = throws)
template<typename Mutex, typename Predicate>
void wait(std::unique_lock<Mutex> &lock, Predicate pred, error_code& = throws)
template<typename Mutex>
cv_status wait_until(std::unique_lock<Mutex> &lock, hpx::chrono::steady_time_point const &abs_time, error_code &ec = throws)
template<typename Mutex, typename Predicate>
bool wait_until(std::unique_lock<Mutex> &lock, hpx::chrono::steady_time_point const &abs_time, Predicate pred, error_code &ec = throws)
template<typename Mutex>
cv_status wait_for(std::unique_lock<Mutex> &lock, hpx::chrono::steady_duration const &rel_time, error_code &ec = throws)
template<typename Mutex, typename Predicate>
bool wait_for(std::unique_lock<Mutex> &lock, hpx::chrono::steady_duration const &rel_time, Predicate pred, error_code &ec = throws)

Private Types

using mutex_type = lcos::local::detail::condition_variable_data::mutex_type
using data_type = hpx::intrusive_ptr<lcos::local::detail::condition_variable_data>

Private Members

hpx::util::cache_aligned_data_derived<data_type> data_
class condition_variable_any

Public Functions

condition_variable_any()
~condition_variable_any()
void notify_one(error_code &ec = throws)
void notify_all(error_code &ec = throws)
template<typename Lock>
void wait(Lock &lock, error_code &ec = throws)
template<typename Lock, typename Predicate>
void wait(Lock &lock, Predicate pred, error_code& = throws)
template<typename Lock>
cv_status wait_until(Lock &lock, hpx::chrono::steady_time_point const &abs_time, error_code &ec = throws)
template<typename Lock, typename Predicate>
bool wait_until(Lock &lock, hpx::chrono::steady_time_point const &abs_time, Predicate pred, error_code &ec = throws)
template<typename Lock>
cv_status wait_for(Lock &lock, hpx::chrono::steady_duration const &rel_time, error_code &ec = throws)
template<typename Lock, typename Predicate>
bool wait_for(Lock &lock, hpx::chrono::steady_duration const &rel_time, Predicate pred, error_code &ec = throws)
template<typename Lock, typename Predicate>
bool wait(Lock &lock, stop_token stoken, Predicate pred, error_code &ec = throws)
template<typename Lock, typename Predicate>
bool wait_until(Lock &lock, stop_token stoken, hpx::chrono::steady_time_point const &abs_time, Predicate pred, error_code &ec = throws)
template<typename Lock, typename Predicate>
bool wait_for(Lock &lock, stop_token stoken, hpx::chrono::steady_duration const &rel_time, Predicate pred, error_code &ec = throws)

Private Types

using mutex_type = lcos::local::detail::condition_variable_data::mutex_type
using data_type = hpx::intrusive_ptr<lcos::local::detail::condition_variable_data>

Private Members

hpx::util::cache_aligned_data_derived<data_type> data_
namespace lcos
namespace local

Typedefs

typedef hpx::spinlock_pool<Tag, N> instead