|
template<class I , class S , class Fun >
requires ( // clang-format off traits::is_input_iterator_v<I> && traits::is_sentinel_for_v<S, I> && traits::is_indirectly_unary_invocable_v<Fun, I> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| static constexpr traits::iter_difference_t< I > | run (I first, S last, Fun p) |
| | Complete overload of the count_if algorithm.
|
| |
template<class E , class P , class I , class S , class Fun >
requires ( // clang-format off traits::is_executor_v<E> && traits::is_partitioner_v<P, I, S> && traits::is_input_iterator_v<I> && traits::is_sentinel_for_v<S, I> && traits::is_indirectly_unary_invocable_v<Fun, I> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| static Async< traits::iter_difference_t< I > > | run (const E &executor, P p, I first, S last, Fun f) |
| | Complete overload of the count_if algorithm.
|
| |
|
| constexpr decltype(auto) | operator() (const E &executor, P p, I first, S last, Fun f) const |
| |
| constexpr decltype(auto) | operator() (const E &executor, P p, R &&r, Fun f) const |
| | Overload for Ranges.
|
| |
| constexpr decltype(auto) | operator() (P p, I first, S last, Fun f) const |
| | Overload for Iterators / default parallel executor.
|
| |
| constexpr decltype(auto) | operator() (P p, R &&r, Fun f) const |
| | Overload for Ranges / default parallel executor.
|
| |
| constexpr decltype(auto) | operator() (const E &executor, I first, S last, Fun f) const |
| | Overload for Iterators / default partitioner.
|
| |
| constexpr decltype(auto) | operator() (const E &executor, R &&r, Fun f) const |
| | Overload for Ranges / default partitioner.
|
| |
| constexpr decltype(auto) | operator() (I first, S last, Fun f) const |
| | Overload for Iterators / default executor / default partitioner.
|
| |
| constexpr decltype(auto) | operator() (R &&r, Fun f) const |
| | Overload for Ranges / default executor / default partitioner.
|
| |
Functor representing the overloads for the count_if function.