=====count_if===== Syntax: #include typename iterator_traits::difference_type count_if( input_iterator start, input_iterator end, UnaryPred p ); The ''count_if'' function returns the number of elements between ''start'' and ''end'' for which the predicate ''p'' returns true. For example, the following code uses ''count_if'' with a predicate that returns true for the integer 3 to count the number of items in an array that are equal to 3: int nums[] = { 0, 1, 2, 3, 4, 5, 9, 3, 13 }; int start = 0; int end = 9; int target_value = 3; int num_items = count_if( nums+start, nums+end, bind2nd(equal_to(), target_value) ); cout << "nums[] contains " << num_items << " items matching " << target_value << endl; When run, the above code displays the following output: nums[] contains 2 items matching 3 Alternatively, the same result can be achieved with the ''boost::bind'': int num_items = count_if( nums+start, nums+end, boost::bind(equal_to(), target_value, _1) ); ''count_if'' can also be used on containers such as [[/stl/vector/|vectors]]: int num_items = count_if( nums.begin(), nums.end(), boost::bind(equal_to(), target_value, _1) ); Related Topics: [[count]]