hpx/parallel/task_group.hpp#

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

namespace hpx
namespace execution#
namespace experimental#
class task_group#

Public Functions

task_group()#
~task_group()#
template<typename Executor, typename F, typename ...Ts>
inline void run(Executor &&exec, F &&f, Ts&&... ts)#
template<typename F, typename ...Ts>
inline void run(F &&f, Ts&&... ts)#
void wait()#
void add_exception(std::exception_ptr p)#

Private Types

using shared_state_type = lcos::detail::future_data<void>#

Private Functions

void serialize(serialization::input_archive&, unsigned const)#
void serialize(serialization::output_archive&, unsigned const)#

Private Members

hpx::lcos::local::latch latch_#
hpx::intrusive_ptr<shared_state_type> state_#
hpx::exception_list errors_#
std::atomic<bool> has_arrived_#

Friends

friend class serialization::access
struct on_exit#

Public Functions

explicit on_exit(task_group &tg)#
~on_exit()#
on_exit(on_exit const &rhs) = delete#
on_exit &operator=(on_exit const &rhs) = delete#
on_exit(on_exit &&rhs) noexcept#
on_exit &operator=(on_exit &&rhs) noexcept#

Public Members

hpx::lcos::local::latch *latch_#