|
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 ) |
| constexpr decltype(auto) | operator() (const E &executor, P p, I first, S last, Fun f) const |
| |
template<class E , class P , class R , class Fun >
requires ( // clang-format off traits::is_executor_v<E> && traits::is_range_partitioner_v<P, R> && traits::is_input_range_v<R> && traits::is_indirectly_unary_invocable_v<Fun, traits::iterator_t<R>> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| constexpr decltype(auto) | operator() (const E &executor, P p, R &&r, Fun f) const |
| | Overload for Ranges.
|
| |
template<class P , class I , class S , class Fun >
requires ( // clang-format off 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 off ) |
| constexpr decltype(auto) | operator() (P p, I first, S last, Fun f) const |
| | Overload for Iterators / default parallel executor.
|
| |
template<class P , class R , class Fun >
requires ( // clang-format off traits::is_range_partitioner_v<P,R> && traits::is_input_range_v<R> && traits::is_indirectly_unary_invocable_v<Fun, traits::iterator_t<R>> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| constexpr decltype(auto) | operator() (P p, R &&r, Fun f) const |
| | Overload for Ranges / default parallel executor.
|
| |
template<class E , class I , class S , class Fun >
requires ( // clang-format off traits::is_executor_v<E> && 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 ) |
| constexpr decltype(auto) | operator() (const E &executor, I first, S last, Fun f) const |
| | Overload for Iterators / default partitioner.
|
| |
template<class E , class R , class Fun >
requires ( // clang-format off traits::is_executor_v<E> && traits::is_input_range_v<R> && traits::is_indirectly_unary_invocable_v<Fun, traits::iterator_t<R>> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| constexpr decltype(auto) | operator() (const E &executor, R &&r, Fun f) const |
| | Overload for Ranges / default partitioner.
|
| |
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 ) |
| constexpr decltype(auto) | operator() (I first, S last, Fun f) const |
| | Overload for Iterators / default executor / default partitioner.
|
| |
template<class R , class Fun >
requires ( // clang-format off traits::is_input_range_v<R> && traits::is_indirectly_unary_invocable_v<Fun, traits::iterator_t<R>> && std::is_copy_constructible_v<Fun> // clang-format on ) |
| constexpr decltype(auto) | operator() (R &&r, Fun f) const |
| | Overload for Ranges / default executor / default partitioner.
|
| |
template<
class Derived>
class CeresEngine::UnaryAlgorithmFunctor< Derived >
Overloads for unary invoke algorithms.
CRTP class with the overloads for classes that look for elements in a sequence with an unary function.
This includes algorithms such as for_each, any_of, all_of, ...