/sys$common/syshlp/helplib.hlb
CXXLSTD, Function Objects, negate

 *Conan The Librarian

 			   Standard C++	Library
 		 Copyright 1996, Rogue Wave Software, Inc.

 NAME

   negate  - Unary function object that returns the negation of its
   argument.

 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 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).

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

   instead of :

   vector<int>

 SEE ALSO

   function objects, unary_function

 STANDARDS CONFORMANCE
   ANSI X3J16/ISO WG21 Joint C++	Committee
  Close     Help