Standard C++ Library Class Reference
*i == value
The count_if algorithm lets you specify a predicate, and increments n each time an element in
the sequence satisfies the predicate. That is, count_if adds to n the number of iterators i in the
range [first, last) for which the following condition holds:
pred(*i) == true.
Complexity
Both count and count_if perform exactly last-first applications of the corresponding predicate.
Example
//
// count.cpp
//
#include <vector>
#include <algorithm>
#include <iostream.h>
int main()
{
int sequence[10] = {1,2,3,4,5,5,7,8,9,10};
int i=0,j=0,k=0;
//
// Set up a vector
//
vector<int> v(sequence,sequence + 10);
count(v.begin(),v.end(),5,i); // Count fives
count(v.begin(),v.end(),6,j); // Count sixes
//
// Count all less than 8
// I=2, j=0
//
count_if(v.begin(),v.end(),bind2nd(less<int>(),8),k);
// k = 7
cout << i << " " << j << " " << k << endl;
return 0;
}
Output : 2 0 7
Warnings
If your compiler does not support default template parameters then you need to always supply
the Allocator template argument. For instance, you'll have to write:
vector <int, allocator>