hpx/lcos_local/and_gate.hpp
hpx/lcos_local/and_gate.hpp#
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
-
namespace lcos
-
namespace local#
-
struct and_gate : public hpx::lcos::local::base_and_gate<hpx::no_mutex>#
Public Functions
-
template<typename Lock>
inline hpx::future<void> get_future(Lock &l, std::size_t count = std::size_t(-1), std::size_t *generation_value = nullptr, error_code &ec = hpx::throws)#
-
template<typename Lock>
inline bool set(std::size_t which, Lock l, error_code &ec = throws)#
-
template<typename Lock>
inline void synchronize(std::size_t generation_value, Lock &l, char const *function_name = "and_gate::synchronize", error_code &ec = throws)#
Private Types
-
typedef base_and_gate<hpx::no_mutex> base_type#
-
template<typename Lock>
-
template<typename Mutex = hpx::spinlock>
struct base_and_gate# Public Functions
-
inline explicit base_and_gate(std::size_t count = 0)#
This constructor initializes the base_and_gate object from the the number of participants to synchronize the control flow with.
-
inline base_and_gate(base_and_gate &&rhs) noexcept#
-
inline base_and_gate &operator=(base_and_gate &&rhs) noexcept#
-
inline hpx::future<void> get_future(std::size_t count = std::size_t(-1), std::size_t *generation_value = nullptr, error_code &ec = hpx::throws)#
-
inline bool set(std::size_t which, error_code &ec = throws)#
-
inline void synchronize(std::size_t generation_value, char const *function_name = "base_and_gate<>::synchronize", error_code &ec = throws)#
Wait for the generational counter to reach the requested stage.
Protected Functions
-
inline bool trigger_conditions(error_code &ec = throws)#
-
template<typename OuterLock>
inline hpx::future<void> get_future(OuterLock &outer_lock, std::size_t count = std::size_t(-1), std::size_t *generation_value = nullptr, error_code &ec = hpx::throws)# get a future allowing to wait for the gate to fire
get a shared future allowing to wait for the gate to fire
-
template<typename OuterLock>
inline bool set(std::size_t which, OuterLock outer_lock, error_code &ec = throws)# Set the data which has to go into the segment which.
-
template<typename Lock>
inline void synchronize(std::size_t generation_value, Lock &l, char const *function_name = "base_and_gate<>::synchronize", error_code &ec = throws)#
Private Types
-
typedef std::list<conditional_trigger*> condition_list_type#
-
struct manage_condition#
Public Functions
-
inline manage_condition(base_and_gate &gate, conditional_trigger &cond)#
-
inline ~manage_condition()#
-
inline manage_condition(base_and_gate &gate, conditional_trigger &cond)#
-
inline explicit base_and_gate(std::size_t count = 0)#
-
struct and_gate : public hpx::lcos::local::base_and_gate<hpx::no_mutex>#
-
namespace local#
-
namespace lcos