in include/unifex/bulk_transform.hpp [88:106]
friend auto tag_invoke(tag_t<get_execution_policy>, const type& r) noexcept {
using receiver_policy = decltype(get_execution_policy(r.receiver_));
constexpr bool allowUnsequenced =
is_one_of_v<receiver_policy, unsequenced_policy, parallel_unsequenced_policy> &&
is_one_of_v<Policy, unsequenced_policy, parallel_unsequenced_policy>;
constexpr bool allowParallel =
is_one_of_v<receiver_policy, parallel_policy, parallel_unsequenced_policy> &&
is_one_of_v<Policy, parallel_policy, parallel_unsequenced_policy>;
if constexpr (allowUnsequenced && allowParallel) {
return unifex::par_unseq;
} else if constexpr (allowUnsequenced) {
return unifex::unseq;
} else if constexpr (allowParallel) {
return unifex::par;
} else {
return unifex::seq;
}
}