hpx/execution/executors/polymorphic_executor.hpp
hpx/execution/executors/polymorphic_executor.hpp#
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
-
namespace parallel
-
namespace execution
-
template<typename Sig>
class polymorphic_executor#
-
template<typename R, typename ...Ts>
class polymorphic_executor<R(Ts...)> : private hpx::parallel::execution::detail::polymorphic_executor_base# -
Public Functions
-
inline constexpr polymorphic_executor() noexcept#
-
inline polymorphic_executor(polymorphic_executor const &other)#
-
inline polymorphic_executor(polymorphic_executor &&other) noexcept#
-
inline polymorphic_executor &operator=(polymorphic_executor const &other)#
-
inline polymorphic_executor &operator=(polymorphic_executor &&other) noexcept#
-
template<typename Exec, typename PE = std::decay_t<Exec>, typename Enable = std::enable_if_t<!std::is_same_v<PE, polymorphic_executor>>>
inline polymorphic_executor(Exec &&exec)#
-
template<typename Exec, typename PE = std::decay_t<Exec>, typename Enable = std::enable_if_t<!std::is_same_v<PE, polymorphic_executor>>>
inline polymorphic_executor &operator=(Exec &&exec)#
-
inline void reset() noexcept#
Private Types
-
using base_type = detail::polymorphic_executor_base#
Private Functions
Private Static Functions
Friends
-
template<typename F>
inline friend void tag_invoke(hpx::parallel::execution::post_t, polymorphic_executor const &exec, F &&f, Ts... ts)#
-
template<typename F>
inline friend R tag_invoke(hpx::parallel::execution::sync_execute_t, polymorphic_executor const &exec, F &&f, Ts... ts)#
-
template<typename F>
inline friend hpx::future<R> tag_invoke(hpx::parallel::execution::async_execute_t, polymorphic_executor const &exec, F &&f, Ts... ts)#
-
template<typename F, typename Future>
inline friend hpx::future<R> tag_invoke(hpx::parallel::execution::then_execute_t, polymorphic_executor const &exec, F &&f, Future &&predecessor, Ts&&... ts)#
-
template<typename F, typename Shape>
inline friend std::vector<R> tag_invoke(hpx::parallel::execution::bulk_sync_execute_t, polymorphic_executor const &exec, F &&f, Shape const &s, Ts&&... ts)#
-
template<typename F, typename Shape>
inline friend std::vector<hpx::future<R>> tag_invoke(hpx::parallel::execution::bulk_async_execute_t, polymorphic_executor const &exec, F &&f, Shape const &s, Ts&&... ts)#
-
inline constexpr polymorphic_executor() noexcept#
-
template<typename Sig>
-
namespace execution
-
namespace parallel