The contents of this module can be included with the header hpx/modules/executors_distributed.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/executors_distributed.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

namespace hpx
namespace parallel
namespace execution


template<typename DistPolicy>
distribution_policy_executor<typename std::decay<DistPolicy>::type> make_distribution_policy_executor(DistPolicy &&policy)

Create a new distribution_policy_executor from the given distribution_policy.

  • policy: The distribution_policy to create an executor from

template<typename DistPolicy>
class distribution_policy_executor
#include <distribution_policy_executor.hpp>

A distribution_policy_executor creates groups of parallel execution agents which execute in threads implicitly created by the executor and placed on any of the associated localities.

Template Parameters
  • DistPolicy: The distribution policy type for which an executor should be created. The expression hpx::traits::is_distribution_policy<DistPolicy>::value must evaluate to true.

Public Functions

template<typename DistPolicy_, typename Enable = typename std::enable_if<!std::is_same<distribution_policy_executor, typename std::decay<DistPolicy_>::type>::value>::type>
distribution_policy_executor(DistPolicy_ &&policy)

Create a new distribution_policy executor from the given distribution policy

  • policy: The distribution_policy to create an executor from

Private Members

DistPolicy policy_