Man Page logical_or.3

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



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


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


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


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


     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:


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


     binary_function, Function_Objects