Man Page logical_not.3



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



NAME

     logical_not

      - A 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  opera-
     tion 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> {
      bool operator() (const T&) const;
     };





WARNINGS

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





SEE ALSO

     Function_Objects, unary_function