Function Object
Unary function object that returns the negation of its argument.
None
#include <functional> template <class T> struct negate : public unary_function<T, T>;
negate is a unary function object. Its operator() returns the negation of its argument: true if its argument is false, or false if its argument is true. 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).
template <class T> struct negate : unary_function<T, T> { T operator() (const T&) const; };
If your compiler does not support default template parameters, then you always need to supply the Allocator template argument. For instance, you need to write:
vector<int, allocator<int> >
instead of:
vector<int>
If your compiler does not support namespaces, then you do not need the using declaration for std.
Function Objects, unary_function