hpx/resiliency/replicate_executor.hpp

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

namespace hpx
namespace resiliency
namespace experimental

Functions

template<typename BaseExecutor, typename Voter, typename Validate>
replicate_executor<BaseExecutor, typename std::decay<Voter>::type, typename std::decay<Validate>::type> make_replicate_executor(BaseExecutor &exec, std::size_t n, Voter &&voter, Validate &&validate)
template<typename BaseExecutor, typename Validate>
replicate_executor<BaseExecutor, detail::replicate_voter, typename std::decay<Validate>::type> make_replicate_executor(BaseExecutor &exec, std::size_t n, Validate &&validate)
template<typename BaseExecutor>
replicate_executor<BaseExecutor, detail::replicate_voter, detail::replicate_validator> make_replicate_executor(BaseExecutor &exec, std::size_t n)
template<typename BaseExecutor, typename Vote, typename Validate>
class replicate_executor

Public Types

template<>
using execution_category = typename BaseExecutor::execution_category
template<>
using executor_parameters_type = typename BaseExecutor::executor_parameters_type
template<typename Result>
using future_type = typename hpx::parallel::execution::executor_future<BaseExecutor, Result>::type

Public Functions

template<typename V, typename F>
replicate_executor(BaseExecutor &exec, std::size_t n, V &&v, F &&f)
bool operator==(replicate_executor const &rhs) const
bool operator!=(replicate_executor const &rhs) const
replicate_executor const &context() const
template<typename F, typename ...Ts>
decltype(auto) async_execute(F &&f, Ts&&... ts) const
template<typename F, typename S, typename ...Ts>
decltype(auto) bulk_async_execute(F &&f, S const &shape, Ts&&... ts) const

Public Static Attributes

constexpr int num_spread = 4
constexpr int num_tasks = 128

Private Members

BaseExecutor &exec_
std::size_t replicate_count_
Vote voter_
Validate validator_