hpx/async_distributed/packaged_action.hpp
hpx/async_distributed/packaged_action.hpp#
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
-
namespace lcos
-
template<typename Action, typename Result = typename traits::promise_local_result<typename Action::remote_result_type>::type, bool DirectExecute = Action::direct_execution::value>
class packaged_action - #include <packaged_action.hpp>
-
template<typename Action, typename Result>
class packaged_action<Action, Result, false> : public hpx::distributed::promise<Result, hpx::traits::extract_action<Action>::remote_result_type># Subclassed by hpx::lcos::packaged_action< Action, Result, true >
Public Functions
-
inline packaged_action()#
-
template<typename ...Ts>
inline void apply(naming::address &&addr, hpx::id_type const &id, Ts&&... vs)#
-
template<typename Callback, typename ...Ts>
inline void apply_cb(hpx::id_type const &id, Callback &&cb, Ts&&... vs)#
-
template<typename Callback, typename ...Ts>
inline void apply_cb(naming::address &&addr, hpx::id_type const &id, Callback &&cb, Ts&&... vs)#
-
template<typename ...Ts>
inline void apply_p(hpx::id_type const &id, threads::thread_priority priority, Ts&&... vs)#
-
template<typename ...Ts>
inline void apply_p(naming::address &&addr, hpx::id_type const &id, threads::thread_priority priority, Ts&&... vs)#
-
template<typename Callback, typename ...Ts>
inline void apply_p_cb(hpx::id_type const &id, threads::thread_priority priority, Callback &&cb, Ts&&... vs)#
-
template<typename Callback, typename ...Ts>
inline void apply_p_cb(naming::address &&addr, hpx::id_type const &id, threads::thread_priority priority, Callback &&cb, Ts&&... vs)#
Protected Types
-
using remote_result_type = typename action_type::remote_result_type#
-
using base_type = hpx::distributed::promise<Result, remote_result_type>#
Protected Functions
-
template<typename ...Ts>
inline void do_apply(naming::address &&addr, hpx::id_type const &id, threads::thread_priority priority, Ts&&... vs)#
-
template<typename ...Ts>
inline void do_apply(hpx::id_type const &id, threads::thread_priority priority, Ts&&... vs)#
-
inline packaged_action()#
-
template<typename Action, typename Result>
class packaged_action<Action, Result, true> : public hpx::lcos::packaged_action<Action, Result, false># Public Functions
-
inline packaged_action()#
Construct a (non-functional) instance of an packaged_action. To use this instance its member function apply needs to be directly called.
-
template<typename ...Ts>
inline void apply(naming::address &&addr, hpx::id_type const &id, Ts&&... vs)#
Private Types
-
using action_type = typename packaged_action<Action, Result, false>::action_type#
-
inline packaged_action()#
-
template<typename Action, typename Result = typename traits::promise_local_result<typename Action::remote_result_type>::type, bool DirectExecute = Action::direct_execution::value>
-
namespace lcos