Library: General utilities
Does not inherit
Unary function object that returns the negation of its argument
#include <functional> namespace std { template <class T> struct negate : public unary_function<T, T>; }
negate is a unary function object. Its operator() returns the inverse of its argument. For boolean arguments, operator() returns true if its argument is false, or false if its argument is true. For numeric arguments, operator() returns the additive inverse of the argument. You can pass a negate object to any algorithm that requires a unary function. For example, the transform() algorithm applies a unary operation to the values in a collection and stores the result. negate could be used in that algorithm in the following manner:
vector<int> vec1; vector<int> vecResult; . . . transform(vec1.begin(), vec1.end(), vecResult.begin(), negate<int>());
After this call to transform(), vecResult(n) contains the negation of the element in vec1(n).
namespace std { template <class T> struct negate : unary_function<T, T> { T operator() (const T&) const; }; }
Function Objects, unary_function
ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.5