man Negation_functors (Fonctions bibliothèques) -
NAME
Negators -
Classes
class std::unary_negate< Predicate >
One of the negation functors.
class std::binary_negate< Predicate >
One of the negation functors.
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.
Detailed Description
The functions 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()));
The call to 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.
Function Documentation
template<class Predicate> unary_negate<Predicate> std::not1 (const Predicate & pred) [inline]
One of the negation functors.
Definition at line 329 of file stl_function.h.
template<class Predicate> binary_negate<Predicate> std::not2 (const Predicate & pred) [inline]
One of the negation functors.
Definition at line 355 of file stl_function.h.