Top of document
©Copyright 1999 Rogue Wave Software

negate


     Function Object

Summary

Unary function object that returns the negation of its argument.

Contents

Synopsis

#include <functional>

   template <class T>
   struct negate : public unary_function<T, T>;

Description

negate is a unary function object. Its operator() returns the negation of its argument, i.e., true if its argument is false, or false if its arguement 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) will contain the negation of the element in vec1(n).

Interface

template <class T>
struct negate : unary_function<T, T> {
  typedef typename unary_function<T,T>::argument_type argument_type;
  typedef typename unary_function<T,T>::result_type result_type;
  T operator() (const T&) const;
};

Warning

If your compiler does not support default template parameters, then you need to always supply the Allocator template argument. For instance, you will need to write :

vector<int, allocator>

instead of :

vector<int>

See Also

Function Objects, unary_function


Top of document