Man Page logical_or.3



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



NAME

     logical_or

      - A binary function object that returns true if  either  of
     its arguments are true.





SYNOPSIS

     #include <functional>
     template <class T>
     struct logical_or : binary_function<T, T, bool> ;





DESCRIPTION

     logical_or is  a  binary  function  object.  Its  operator()
     returns  true  if  either  x  or  y are true. You can pass a
     logical_or object to any algorithm that  requires  a  binary
     function.  For  example,  the  transform algorithm applies a
     binary operation to corresponding values in two  collections
     and  stores the result of the function.   logical_or is used
     in that algorithm in the following manner:


     vector<bool> vec1;
     vector<bool> vec2;
     vector<bool> vecResult;
     transform(vec1.begin(), vec1.end(),
              vec2.begin(),
              vecResult.begin(), logical_or<bool>());

     After this call to  transform,  vecResult(n)  contains  a  1
     (true)  if  either vec1(n) or vec2(n) is true or a 0 (false)
     if both vec1(n) and vec2(n) are false.





INTERFACE

     template <class T>
     struct logical_or : binary_function<T, T, bool> {
      bool operator() (const T&, const T&) const;
     };



WARNINGS

     If your compiler does not support default  template  parame-
     ters, you always need to supply the Allocator template argu-
     ment. For instance, you have to write:

     vector<bool, allocator<bool> >

     instead of:

     vector<bool>

     If your compiler does not support namespaces,  then  you  do
     not need the using declaration for std.





SEE ALSO

     binary_function, Function_Objects