count_if
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

count_if

Returns the number of elements in a range whose values satisfy a specified condition.

template<class InputIterator, class Predicate>
   typename iterator_traits<InputIterator>::difference_typecount_if(
      InputIterator _First, 
      InputIterator _Last,
      Predicate _Pred
   );

Parameters

_First
An input iterator addressing the position of the first element in the range to be searched.
_Last
An input iterator addressing the position one past the final element in the range to be searched.
_Pred
User-defined predicate function object that defines the condition to be satisfied if an element is to be counted. A predicate takes single argument and returns true or false.

Return Value

The number of elements that satisfy the condition specified by the predicate.

Remarks

This template function is a generalization of the algorithm count, replacing the predicate "equals a specific value" with any predicate.

Example

// alg_count_if.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <iostream>

bool greater10 ( int value )
{
   return value >10;
}

int main( )
{
   using namespace std;
   vector <int> v1;
   vector <int>::iterator Iter;
   
   v1.push_back( 10 );
   v1.push_back( 20 );
   v1.push_back( 10 );
   v1.push_back( 40 );
   v1.push_back( 10 );

   cout << "v1 = ( " ;
   for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
      cout << *Iter << " ";
   cout << ")" << endl;

   int result1;
   result1 = count_if( v1.begin( ), v1.end( ), greater10 );
   cout << "The number of elements in v1 greater than 10 is: "
        << result1 << "." << endl;
}

Output

v1 = ( 10 20 10 40 10 )
The number of elements in v1 greater than 10 is: 2.

See Also

<algorithm> Members | count_if Sample

Show:
© 2016 Microsoft