hpx/async_distributed/continuation.hpp#

Defined in header hpx/async_distributed/continuation.hpp.

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

template<>
struct typed_continuation<void, util::unused_type> : public hpx::actions::continuation#

Public Types

using result_type = void#

Public Functions

typed_continuation() = default#
explicit typed_continuation(hpx::id_type const &id)#
explicit typed_continuation(hpx::id_type &&id) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, F &&f)#
typed_continuation(hpx::id_type const &id, naming::address &&addr)#
typed_continuation(hpx::id_type &&id, naming::address &&addr) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, naming::address &&addr, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, naming::address &&addr, F &&f)#
template<typename F>
inline explicit typed_continuation(F &&f)#
typed_continuation(typed_continuation&&) noexcept#
typed_continuation &operator=(typed_continuation&&) noexcept#
void trigger() const#
void trigger_value(util::unused_type&&) const#
void trigger_value(util::unused_type const&) const#

Private Types

using function_type = hpx::distributed::move_only_function<void(hpx::id_type)>#

Private Functions

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

Private Members

function_type f_#

Friends

friend class hpx::serialization::access
namespace hpx
namespace actions
class continuation#

Subclassed by hpx::actions::typed_continuation< Result, Result >, hpx::actions::typed_continuation< void, util::unused_type >

Public Types

using continuation_tag = void#

Public Functions

continuation()#
explicit continuation(hpx::id_type const &id)#
explicit continuation(hpx::id_type &&id)#
continuation(hpx::id_type const &id, naming::address &&addr)#
continuation(hpx::id_type &&id, naming::address &&addr) noexcept#
continuation(continuation &&o) noexcept#
continuation &operator=(continuation &&o) noexcept#
void trigger_error(std::exception_ptr const &e) const#

Deliver an exception to this continuation’s destination instead of a value.

Parameters

e – The exception to forward to the destination.

void trigger_error(std::exception_ptr &&e) const#

Deliver an exception to this continuation’s destination instead of a value.

Parameters

e – The exception to forward to the destination.

void serialize(hpx::serialization::input_archive &ar, unsigned)#
void serialize(hpx::serialization::output_archive &ar, unsigned)#
inline constexpr hpx::id_type const &get_id() const noexcept#
inline constexpr naming::address get_addr() const noexcept#

Protected Attributes

hpx::id_type id_#
naming::address addr_#
template<typename Result, typename RemoteResult>
struct typed_continuation#

Public Functions

typed_continuation() = default#
inline explicit typed_continuation(hpx::id_type const &id)#
inline explicit typed_continuation(hpx::id_type &&id) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, F &&f)#
inline typed_continuation(hpx::id_type const &id, naming::address &&addr)#
inline typed_continuation(hpx::id_type &&id, naming::address &&addr) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, naming::address &&addr, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, naming::address &&addr, F &&f)#
template<typename F>
inline explicit typed_continuation(F &&f)#
typed_continuation(typed_continuation&&) noexcept = default#
typed_continuation &operator=(typed_continuation&&) noexcept = default#
inline void trigger_value(RemoteResult &&result)#

Private Types

using base_type = typed_continuation<RemoteResult>#
using function_type = hpx::distributed::move_only_function<void(hpx::id_type, RemoteResult)>#

Private Functions

template<typename Archive>
inline void serialize(Archive &ar, unsigned)#

Friends

friend class hpx::serialization::access
template<typename Result>
struct typed_continuation<Result, Result> : public hpx::actions::continuation#

Public Types

using result_type = Result#

Public Functions

typed_continuation() = default#
inline explicit typed_continuation(hpx::id_type const &id)#
inline explicit typed_continuation(hpx::id_type &&id) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, F &&f)#
inline typed_continuation(hpx::id_type const &id, naming::address &&addr)#
inline typed_continuation(hpx::id_type &&id, naming::address &&addr) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, naming::address &&addr, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, naming::address &&addr, F &&f)#
template<typename F>
inline explicit typed_continuation(F &&f)#
typed_continuation(typed_continuation&&) noexcept = default#
typed_continuation &operator=(typed_continuation&&) noexcept = default#
inline void trigger_value(Result &&result)#

Protected Attributes

function_type f_#

Private Types

using function_type = hpx::distributed::move_only_function<void(hpx::id_type, Result)>#

Private Functions

template<typename Archive>
inline void serialize(Archive &ar, unsigned)#

Friends

friend class hpx::serialization::access
template<> unused_type > : public hpx::actions::continuation

Public Types

using result_type = void#

Public Functions

typed_continuation() = default#
explicit typed_continuation(hpx::id_type const &id)#
explicit typed_continuation(hpx::id_type &&id) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, F &&f)#
typed_continuation(hpx::id_type const &id, naming::address &&addr)#
typed_continuation(hpx::id_type &&id, naming::address &&addr) noexcept#
template<typename F>
inline typed_continuation(hpx::id_type const &id, naming::address &&addr, F &&f)#
template<typename F>
inline typed_continuation(hpx::id_type &&id, naming::address &&addr, F &&f)#
template<typename F>
inline explicit typed_continuation(F &&f)#
typed_continuation(typed_continuation&&) noexcept#
typed_continuation &operator=(typed_continuation&&) noexcept#
void trigger() const#
void trigger_value(util::unused_type&&) const#
void trigger_value(util::unused_type const&) const#

Private Types

using function_type = hpx::distributed::move_only_function<void(hpx::id_type)>#

Private Functions

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

Private Members

function_type f_#

Friends

friend class hpx::serialization::access