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>#
Functions
-
template<typename Tag, typename Policy, typename Property>
HPX_CXX_CORE_EXPORT auto tag_invoke(Tag tag, thread_pool_policy_scheduler<Policy> const &scheduler, Property &&prop) -> decltype(std::declval<thread_pool_policy_scheduler<Policy>>().policy(std::declval<Tag>()(std::declval<Policy>(), std::declval<Property>())), thread_pool_policy_scheduler<Policy>())#
Variables
- template<typename Sender> HPX_CXX_CORE_EXPORT 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 HPX_CXX_CORE_EXPORT 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 HPX_CXX_CORE_EXPORT 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 requires constexpr std::same_as< std::decay_t< decltype(hpx::execution::experimental::get_scheduler(std::declval< Env const & >)))>, thread_pool_policy_scheduler< Policy > > auto transform_sender (hpx::execution::experimental::set_value_t, Sender &&sndr, Env const &env) const noexcept
-
template<typename Policy>
struct thread_pool_policy_scheduler# Public Types
-
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#
-
using execution_category = std::conditional_t<std::is_same_v<Policy, launch::sync_policy>, sequenced_execution_tag, parallel_execution_tag>#
-
using thread_pool_scheduler = thread_pool_policy_scheduler<hpx::launch>#
-
namespace experimental
-
namespace execution