
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Algorithm Library - count_if() Function
Description
The C++ function std::algorithm::count_if() returns the number of occurrences of value from range that satisfies condition.
Declaration
Following is the declaration for std::algorithm::count_if() function form std::algorithm header.
C++98
template <class InputIterator, class Predicate> typename iterator_traits<InputIterator>::difference_type count_if (InputIterator first, InputIterator last, UnaryPredicate pred);
Parameters
first − Input iterators to the initial positions of the searched sequence.
last − Input iterators to the final positions of the searched sequence.
pred − Unary predicate which takes an argument and returns bool.
Return value
Returns the number of elements in the range for which pred returns true.
Exceptions
Throws an exception if either predicate or an operation on an iterator throws exception.
Please note that invalid parameters cause undefined behavior.
Time complexity
Linear in the distance between first to last.
Example
The following example shows the usage of std::algorithm::count_if() function.
#include <iostream> #include <vector> #include <algorithm> using namespace std; bool predicate(int n) { return (n > 3); } int main(void) { vector<int> v = {1, 2, 3, 4, 5}; int cnt; cnt = count_if(v.begin(), v.end(), predicate); cout << "There are " << cnt << " numbers are greater that 3." << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
There are 2 numbers are greater that 3.