function template
<functional>

std::not1

template <class Predicate> unary_negate<Predicate> not1 (const Predicate& pred);
Return negation of unary function object
Constructs a unary function object (of a unary_negate type) that returns the opposite of pred (as returned by operator !).

It is defined with the same behavior as:
1
2
3
4
template <class Predicate> unary_negate<Predicate> not1 (const Predicate& pred) { return unary_negate<Predicate>(pred); }

Parameters

pred
Unary function object of a class type with member argument_type defined.

Return value

An unary function object with the opposite behavior of pred.
See unary_negate.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// not1 example #include <iostream> // std::cout #include <functional> // std::not1 #include <algorithm> // std::count_if struct IsOdd { bool operator() (const int& x) const {return x%2==1;} typedef int argument_type; }; int main () { int values[] = {1,2,3,4,5}; int cx = std::count_if (values, values+5, std::not1(IsOdd())); std::cout << "There are " << cx << " elements with even values.\n"; return 0; }

Output:
 There are 2 elements with even values. 


See also