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

 *Conan The Librarian

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

 NAME

   logical_not  - Unary function	object that returns true if its
   argument  is false.

 SYNOPSIS

   #include <functional>

   template <class T>
   struct logical_not : unary_function<T, bool> ;

 DESCRIPTION

   logical_not is a unary function object.  Its operator() returns true
   if  its argument is false.  You can pass a logical_not object	to any
   algorithm that requires a unary function.  For example, the
   replace_if  algorithm replaces an element with another value	if the
   result of a  unary operation is true. logical_not is used in that
   algorithm	in the following manner:

   vector<int> vec1;
   void replace_if(vec1.begin(),	vec1.end(),
 		  logical_not<int>(),1);

   This call to replace_if replaces all zeros in	the vec1 with "1".

 INTERFACE

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

 WARNING

   If your compiler does	not support default template parameters, you
   will need to always supply	the Allocator template argument.  For
   instance,	you will have 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