hpx/futures/packaged_task.hpp

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

namespace hpx
template<typename R, typename ...Ts>
class packaged_task<R(Ts...)>

Public Functions

packaged_task()
template<typename F, typename FD = std::decay_t<F>, typename Enable = std::enable_if_t<!std::is_same_v<FD, packaged_task> && is_invocable_r_v<R, FD&, Ts...>>>
packaged_task(F &&f)
template<typename Allocator, typename F, typename FD = std::decay_t<F>, typename Enable = std::enable_if_t<!std::is_same_v<FD, packaged_task> && is_invocable_r_v<R, FD&, Ts...>>>
packaged_task(std::allocator_arg_t, Allocator const &a, F &&f)
packaged_task(packaged_task const &rhs)
packaged_task(packaged_task &&rhs)
packaged_task &operator=(packaged_task const &rhs)
packaged_task &operator=(packaged_task &&rhs)
void swap(packaged_task &rhs)
void operator()(Ts... ts)
hpx::future<R> get_future(error_code &ec = throws)
bool valid() const
void reset(error_code &ec = throws)
void set_exception(std::exception_ptr const &e)

Private Types

template<>
using function_type = hpx::move_only_function<R(Ts...)>

Private Members

function_type function_
hpx::promise<R> promise_
namespace lcos
namespace local

Typedefs

typedef hpx::promise<R> instead
namespace std

Functions

template<typename Sig>
void swap(hpx::packaged_task<Sig> &lhs, hpx::packaged_task<Sig> &rhs)