Skip to content. Skip to navigation

ICTP Portal

You are here: Home Manuals on-line PGI Compiler pgC_lib negate
Personal tools
Document Actions


Click on the banner to return to the class reference home page.


Function Object


Unary function object that returns the negation of its argument.

Data Type and Member Function Indexes
(exclusive of constructors and destructors)



#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, i.e., 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) will contain the negation of the element in vec1(n).


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;


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<int> >

instead of :


See Also

Function Objects, unary_function

©Copyright 1996, Rogue Wave Software, Inc.

Powered by Plone This site conforms to the following standards: