hpx/resiliency/replicate_executor.hpp
hpx/resiliency/replicate_executor.hpp#
Defined in header hpx/resiliency/replicate_executor.hpp.
See Public API for a list of names and headers that are part of the public HPX API.
-
template<typename BaseExecutor, typename Voter, typename Validator>
struct is_two_way_executor<hpx::resiliency::experimental::replicate_executor<BaseExecutor, Voter, Validator>> : public true_type#
-
template<typename BaseExecutor, typename Voter, typename Validator>
struct is_bulk_two_way_executor<hpx::resiliency::experimental::replicate_executor<BaseExecutor, Voter, Validator>> : public true_type#
-
namespace hpx
-
namespace execution
-
namespace experimental
- template<typename BaseExecutor, typename Voter, typename Validator> replicate_executor< BaseExecutor, Voter, Validator > > : public true_type
- template<typename BaseExecutor, typename Voter, typename Validator> replicate_executor< BaseExecutor, Voter, Validator > > : public true_type
-
namespace experimental
-
namespace resiliency
-
namespace experimental
Functions
-
template<typename Tag, typename BaseExecutor, typename Vote, typename Validate, typename Property>
auto tag_invoke(Tag tag, replicate_executor<BaseExecutor, Vote, Validate> const &exec, Property &&prop) -> decltype(replicate_executor<BaseExecutor, Vote, Validate>(std::declval<Tag>()(std::declval<BaseExecutor>(), std::declval<Property>()), std::declval<std::size_t>(), std::declval<Vote>(), std::declval<Validate>()))#
-
template<typename Tag, typename BaseExecutor, typename Vote, typename Validate>
auto tag_invoke(Tag tag, replicate_executor<BaseExecutor, Vote, Validate> const &exec) -> decltype(std::declval<Tag>()(std::declval<BaseExecutor>()))#
-
template<typename BaseExecutor, typename Voter, typename Validate>
replicate_executor<BaseExecutor, std::decay_t<Voter>, std::decay_t<Validate>> make_replicate_executor(BaseExecutor &exec, std::size_t n, Voter &&voter, Validate &&validate)#
-
template<typename BaseExecutor, typename Validate>
replicate_executor<BaseExecutor, detail::replicate_voter, std::decay_t<Validate>> 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
-
using execution_category = hpx::traits::executor_execution_category_t<BaseExecutor>#
-
using executor_parameters_type = hpx::traits::executor_parameters_type_t<BaseExecutor>#
-
template<typename Result>
using future_type = hpx::traits::executor_future_t<BaseExecutor, Result>#
Public Functions
-
template<typename BaseExecutor_, typename V, typename F>
inline explicit replicate_executor(BaseExecutor_ &&exec, std::size_t n, V &&v, F &&f)#
-
inline bool operator==(replicate_executor const &rhs) const noexcept#
-
inline bool operator!=(replicate_executor const &rhs) const noexcept#
-
inline constexpr replicate_executor const &context() const noexcept#
-
inline BaseExecutor const &get_executor() const#
Private Functions
-
template<typename F, typename ...Ts>
inline decltype(auto) friend tag_invoke(hpx::parallel::execution::async_execute_t, replicate_executor const &exec, F &&f, Ts&&... ts)#
-
template<typename F, typename S, typename ...Ts>
inline decltype(auto) friend tag_invoke(hpx::parallel::execution::bulk_async_execute_t, replicate_executor const &exec, F &&f, S const &shape, Ts&&... ts)#
-
using execution_category = hpx::traits::executor_execution_category_t<BaseExecutor>#
-
template<typename Tag, typename BaseExecutor, typename Vote, typename Validate, typename Property>
-
namespace experimental
-
namespace execution