hpx/distribution_policies/colocating_distribution_policy.hpp
hpx/distribution_policies/colocating_distribution_policy.hpp#
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
-
namespace components
Variables
-
static const colocating_distribution_policy colocated = {}#
A predefined instance of the co-locating distribution_policy. It will represent the local locality and will place all items to create here.
-
struct colocating_distribution_policy#
- #include <colocating_distribution_policy.hpp>
This class specifies the parameters for a distribution policy to use for creating a given number of items on the locality where a given object is currently placed.
Public Functions
-
colocating_distribution_policy() = default#
Default-construct a new instance of a colocating_distribution_policy. This policy will represent the local locality.
-
inline colocating_distribution_policy operator()(id_type const &id) const#
Create a new colocating_distribution_policy representing the locality where the given object is current located
- Parameters
id – [in] The global address of the object with which the new instances should be colocated on
-
template<typename Client, typename Stub>
inline colocating_distribution_policy operator()(client_base<Client, Stub> const &client) const# Create a new colocating_distribution_policy representing the locality where the given object is current located
- Parameters
client – [in] The client side representation of the object with which the new instances should be colocated on
-
template<typename Component, typename ...Ts>
inline hpx::future<hpx::id_type> create(Ts&&... vs) const# Create one object on the locality of the object this distribution policy instance is associated with
Note
This function is part of the placement policy implemented by this class
- Parameters
vs – [in] The arguments which will be forwarded to the constructor of the new object.
- Returns
A future holding the global address which represents the newly created object
-
template<typename Component, typename ...Ts>
inline hpx::future<std::vector<bulk_locality_result>> bulk_create(std::size_t count, Ts&&... vs) const# Create multiple objects colocated with the object represented by this policy instance
Note
This function is part of the placement policy implemented by this class
- Parameters
count – [in] The number of objects to create
vs – [in] The arguments which will be forwarded to the constructors of the new objects.
- Returns
A future holding the list of global addresses which represent the newly created objects
-
template<typename Action, typename ...Ts>
inline async_result<Action>::type async(launch policy, Ts&&... vs) const#
-
template<typename Action, typename Callback, typename ...Ts>
inline async_result<Action>::type async_cb(launch policy, Callback &&cb, Ts&&... vs) const# Note
This function is part of the invocation policy implemented by this class
-
template<typename Action, typename Continuation, typename ...Ts>
inline bool apply(Continuation &&c, threads::thread_priority priority, Ts&&... vs) const# Note
This function is part of the invocation policy implemented by this class
-
template<typename Action, typename ...Ts>
inline bool apply(threads::thread_priority priority, Ts&&... vs) const#
-
template<typename Action, typename Continuation, typename Callback, typename ...Ts>
inline bool apply_cb(Continuation &&c, threads::thread_priority priority, Callback &&cb, Ts&&... vs) const# Note
This function is part of the invocation policy implemented by this class
-
template<typename Action, typename Callback, typename ...Ts>
inline bool apply_cb(threads::thread_priority priority, Callback &&cb, Ts&&... vs) const#
-
template<typename Action>
struct async_result# - #include <colocating_distribution_policy.hpp>
Note
This function is part of the invocation policy implemented by this class
-
colocating_distribution_policy() = default#
-
static const colocating_distribution_policy colocated = {}#
-
namespace components