template<class InIt, class Pred, class Dist>
size_t count_if(InIt first, InIt last,
Pred pr);
The template function sets a count n
to zero. It then executes ++n
for each N
in the range [0, last - first)
for
which the predicate pr(*(first + N))
is true. It evaluates the predicate exactly last - first
times.
In this implementation, if a translator does not support partial specialization of templates, the return type is size_t
instead of iterator_traits<InIt>::distance_type
.
See the related sample program.