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>
void run(Executor &&exec, F &&f, Ts&&... ts)
template<typename F, typename ...Ts>
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 hpx::execution::experimental::serialization::access
struct on_exit

Public Functions

on_exit(task_group &tg)
~on_exit()
on_exit(on_exit const &rhs)
on_exit &operator=(on_exit const &rhs)
on_exit(on_exit &&rhs)
on_exit &operator=(on_exit &&rhs)

Public Members

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