35 template <
typename W =
void>
106 template <
typename W>
112 template <
typename W>
114 if constexpr (std::is_void_v<W>) {
120 auto [w_new, w_rest] = policy.
workhint.get_workhint();
126 template <
typename W>
128 if constexpr (std::is_void_v<W>) {
129 return std::make_pair(std::cref(policy), std::cref(policy));
132 return std::make_pair(policy, policy);
133 }
else if (!policy.
workhint.has_children()) {
137 auto [c1, c2] = policy.
workhint.get_children();
Definition: workhint_view.hpp:12
Definition: workhint.hpp:12
#define ITYR_CHECK(cond)
Definition: util.hpp:48
Definition: execution.hpp:7
constexpr parallel_policy par
Default parallel execution policy for iterator-based loop functions.
Definition: execution.hpp:89
constexpr sequenced_policy seq
Default serial execution policy for iterator-based loop functions.
Definition: execution.hpp:83
Parallel execution policy for iterator-based loop functions.
Definition: execution.hpp:36
parallel_policy(const workhint_range< W > &workhint) noexcept
Definition: execution.hpp:45
parallel_policy(std::size_t cutoff_count, std::size_t checkout_count, workhint_range_view< W > workhint) noexcept
Definition: execution.hpp:60
constexpr parallel_policy(std::size_t cutoff_count) noexcept
Definition: execution.hpp:39
constexpr parallel_policy() noexcept
Definition: execution.hpp:37
parallel_policy(std::size_t cutoff_count, const workhint_range< W > &workhint) noexcept
Definition: execution.hpp:48
parallel_policy(std::size_t cutoff_count, std::size_t checkout_count, const workhint_range< W > &workhint) noexcept
Definition: execution.hpp:51
parallel_policy(std::size_t cutoff_count, workhint_range_view< W > workhint) noexcept
Definition: execution.hpp:57
parallel_policy(workhint_range_view< W > workhint) noexcept
Definition: execution.hpp:54
constexpr parallel_policy(std::size_t cutoff_count, std::size_t checkout_count) noexcept
Definition: execution.hpp:42
workhint_range_view< W > workhint
Work hints for ADWS.
Definition: execution.hpp:76
std::size_t checkout_count
The number of elements for leaf tasks to stop parallel recursion.
Definition: execution.hpp:71
std::size_t cutoff_count
The maximum number of elements to check out at the same time if automatic checkout is enabled.
Definition: execution.hpp:66
Serial execution policy for iterator-based loop functions.
Definition: execution.hpp:16
constexpr sequenced_policy(std::size_t checkout_count) noexcept
Definition: execution.hpp:24
constexpr sequenced_policy() noexcept
Definition: execution.hpp:22
std::size_t checkout_count
The maximum number of elements to check out at the same time if automatic checkout is enabled.
Definition: execution.hpp:20
Definition: thread.hpp:14
Definition: parallel_invoke.hpp:14