hpx/futures/futures_factory.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
template<typename Result, bool Cancelable>
class futures_factory<Result(), Cancelable>

Public Functions

futures_factory()
template<typename Executor, typename F>
futures_factory(Executor &exec, F &&f)
template<typename Executor>
futures_factory(Executor &exec, Result (*f)())
template<typename F, typename Enable = std::enable_if_t<!std::is_same_v<std::decay_t<F>, futures_factory>>>
futures_factory(F &&f)
futures_factory(Result (*f)())
~futures_factory()
futures_factory(futures_factory const &rhs)
futures_factory &operator=(futures_factory const &rhs)
futures_factory(futures_factory &&rhs)
futures_factory &operator=(futures_factory &&rhs)
void operator()() const
threads::thread_id_ref_type apply(const char *annotation = "futures_factory::apply", launch policy = launch::async, error_code &ec = throws) const
threads::thread_id_ref_type apply(threads::thread_pool_base *pool, const char *annotation = "futures_factory::apply", launch policy = launch::async, error_code &ec = throws) const
hpx::future<Result> get_future(error_code &ec = throws)
constexpr bool valid() const
void set_exception(std::exception_ptr const &e)

Protected Types

template<>
using task_impl_type = lcos::detail::task_base<Result>

Protected Attributes

hpx::intrusive_ptr<task_impl_type> task_
bool future_obtained_ = false