template<typename InputRange, typename Task, auto... Options>
std::ranges::forward_range<InputRange> && std::ranges::sized_range<InputRange> &&
(std::is_lvalue_reference_v<std::ranges::range_reference_t<InputRange>> ||
std::constructible_from<
std::remove_cvref_t<std::ranges::range_reference_t<InputRange>>,
std::ranges::range_reference_t<InputRange>>) &&
requires(std::remove_reference_t<Task>& task,
ParallelCollectArgT<std::ranges::range_reference_t<InputRange>> item) {
{ std::invoke(task, std::forward<
decltype(item)>(item)) } ->
AsResult;
requires(!std::same_as<void, ParallelCollectValueT<InputRange, Task>>);
requires std::default_initializable<ParallelCollectValueT<InputRange, Task>>;
}
Definition executor_util_internal.h:71
Definition executor_util_internal.h:50