hpx/executors/thread_pool_scheduler.hpp#

Defined in header hpx/executors/thread_pool_scheduler.hpp.

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

namespace hpx
namespace execution
namespace experimental

Typedefs

using thread_pool_scheduler = thread_pool_policy_scheduler<hpx::launch>#

Variables

template<typename Sender> concept bulk_chunked_or_unchunked_sender  =sender_invokes_algorithm_v<Sender,hpx::execution::experimental::bulk_t> ||sender_invokes_algorithm_v<Sender,hpx::execution::experimental::bulk_chunked_t> ||sender_invokes_algorithm_v<Sender,hpx::execution::experimental::bulk_unchunked_t>
template<typename Policy>
constexpr bool is_sequenced_policy_v = false#
template<>
constexpr bool is_sequenced_policy_v<sequenced_policy> = true#
template<>
constexpr bool is_sequenced_policy_v<unsequenced_policy> = true#
template<typename Policy>
constexpr bool is_unsequenced_bulk_policy_v = false#
template<>
constexpr bool is_unsequenced_bulk_policy_v<unsequenced_policy> = true#
template<>
constexpr bool is_unsequenced_bulk_policy_v<parallel_unsequenced_policy> = true#
template<typename Policy>
struct thread_pool_domain : public sync_wait_domain#

Public Functions

template<bulk_chunked_or_unchunked_sender Sender, typename Env>
inline constexpr thread_pool_policy_scheduler<Policy> auto transform_sender(hpx::execution::experimental::set_value_t, Sender &&sndr, Env const &env) const noexcept#
template<typename Sender, typename Env> inline requires constexpr sender_invokes_algorithm_v< Sender, hpx::execution::experimental::continues_on_t > auto transform_sender (hpx::execution::experimental::set_value_t, Sender &&sndr, Env const &) const noexcept
template<typename Policy>
struct thread_pool_policy_scheduler#

Public Types

using policy_type = Policy#
using execution_category = std::conditional_t<std::is_same_v<Policy, launch::sync_policy>, sequenced_execution_tag, parallel_execution_tag>#

Public Functions

inline explicit constexpr thread_pool_policy_scheduler(Policy l = experimental::detail::get_default_scheduler_policy<Policy>::call())#
inline explicit thread_pool_policy_scheduler(hpx::threads::thread_pool_base *pool, Policy l = experimental::detail::get_default_scheduler_policy<Policy>::call()) noexcept#