Classes | |
| class | std::unary_negate< _Predicate > | 
| One of the negation functors.  More... | |
| class | std::binary_negate< _Predicate > | 
| One of the negation functors.  More... | |
Functions | |
| template<class _Predicate> | |
| unary_negate< _Predicate > | std::not1 (const _Predicate &__pred) | 
| One of the negation functors.   | |
| template<class _Predicate> | |
| binary_negate< _Predicate > | std::not2 (const _Predicate &__pred) | 
| One of the negation functors.   | |
not1 and not2 each take a predicate functor and return an instance of unary_negate or binary_negate, respectively. These classes are functors whose operator() performs the stored predicate function and then returns the negation of the result.For example, given a vector of integers and a trivial predicate,
struct IntGreaterThanThree : public std::unary_function<int, bool> { bool operator() (int x) { return x > 3; } }; std::find_if (v.begin(), v.end(), not1(IntGreaterThanThree()));
find_if will locate the first index (i) of v for which "!(v[i] > 3)" is true.The not1/unary_negate combination works on predicates taking a single argument. The not2/binary_negate combination works on predicates which take two arguments.
| unary_negate<_Predicate> std::not1 | ( | const _Predicate & | __pred | ) |  [inline] | 
        
| binary_negate<_Predicate> std::not2 | ( | const _Predicate & | __pred | ) |  [inline] | 
        
 1.4.7