CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::CountAlgorithmFunctor Class Reference

Functor representing the overloads for the count function. More...

#include <CeresEngine/Foundation/Algorithm/Count.hpp>

Inheritance diagram for CeresEngine::CountAlgorithmFunctor:
CeresEngine::ValueCompareAlgorithmFunctor< CountAlgorithmFunctor >

Static Private Member Functions

template<class I , class S , class T >
requires ( // clang-format off traits::is_input_iterator_v<I> && traits::is_sentinel_for_v<S, I> && traits::is_indirectly_binary_invocable_v<std::equal_to<>, T*, I> // clang-format on )
static constexpr traits::iter_difference_t< Irun (I first, S last, const T &v)
 Complete overload of the count algorithm.
 
template<class E , class P , class I , class S , class T >
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_binary_invocable_v<std::equal_to<>, T *, I> // clang-format on )
static Async< traits::iter_difference_t< I > > run (const E &executor, P p, I first, S last, const T &v)
 Complete overload of the count algorithm.
 

Private Attributes

friend ValueCompareAlgorithmFunctor< CountAlgorithmFunctor >
 

Additional Inherited Members

- Public Member Functions inherited from CeresEngine::ValueCompareAlgorithmFunctor< CountAlgorithmFunctor >
constexpr decltype(auto) operator() (const E &executor, P p, I first, S last, T f) const
 Complete overload.
 
constexpr decltype(auto) operator() (const E &executor, P p, R &&r, T f) const
 Overload for Ranges.
 
constexpr decltype(auto) operator() (P p, I first, S last, T f) const
 Overload for Iterators / default parallel executor.
 
constexpr decltype(auto) operator() (P p, R &&r, T f) const
 Overload for Ranges / default parallel executor.
 
constexpr decltype(auto) operator() (const E &executor, I first, S last, T f) const
 Overload for Iterators / default partitioner.
 
constexpr decltype(auto) operator() (const E &executor, R &&r, T f) const
 Overload for Ranges / default partitioner.
 
constexpr decltype(auto) operator() (I first, S last, T f) const
 Overload for Iterators / default executor / default partitioner.
 
constexpr decltype(auto) operator() (R &&r, T f) const
 Overload for Ranges / default executor / default partitioner.
 

Detailed Description

Functor representing the overloads for the count function.

Member Function Documentation

◆ run() [1/2]

static Async< traits::iter_difference_t< I > > CeresEngine::CountAlgorithmFunctor::run ( const E executor,
P  p,
I  first,
S  last,
const T v 
)
inlinestaticprivate

Complete overload of the count algorithm.

Template Parameters
EExecutor type
PPartitioner type
IIterator type
SSentinel iterator type
TValue to compare
Parameters
exExecutor
pPartitioner
firstIterator to first element in the range
lastIterator to (last + 1)-th element in the range
vValue function template count

◆ run() [2/2]

template<class I , class S , class T >
requires ( // clang-format off traits::is_input_iterator_v<I> && traits::is_sentinel_for_v<S, I> && traits::is_indirectly_binary_invocable_v<std::equal_to<>, T*, I> // clang-format on )
static constexpr traits::iter_difference_t< I > CeresEngine::CountAlgorithmFunctor::run ( I  first,
S  last,
const T v 
)
inlinestaticconstexprprivate

Complete overload of the count algorithm.

Template Parameters
IIterator type
SSentinel iterator type
TValue to compare
Parameters
firstIterator to first element in the range
lastIterator to (last + 1)-th element in the range
vValue function template count

Member Data Documentation

◆ ValueCompareAlgorithmFunctor< CountAlgorithmFunctor >

friend CeresEngine::CountAlgorithmFunctor::ValueCompareAlgorithmFunctor< CountAlgorithmFunctor >
private

The documentation for this class was generated from the following file: