Binary_negate is a function object adaptor: it is an
Adaptable Binary Predicate that represents the logical negation
of some other Adaptable Binary Predicate. That is: if f is an
object of class binary_negate<AdaptableBinaryPredicate>, then
there exists an object pred of class AdaptableBinaryPredicate
such that f(x,y) always returns the same value as !pred(x,y).
There is rarely any reason to construct a binary_negate
directly; it is almost always easier to use the helper function not2.
Example
Finds the first character in a string that is neither
' ' nor '\n'.
If p is of type AdaptableBinaryPredicate then
not2(p) is equivalent to binary_negate<AdaptableBinaryPredicate>(p),
but more convenient. This is a global function, not a member function.