Library: General utilities
Does not inherit
A binary function object that returns true if either of its arguments are true
#include <functional> namespace std { template <class T> struct logical_or; }
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:
list<bool> list1; list<bool> list2; list<bool> listResult; . . . transform(list1.begin(), list1.end(), list2.begin(), listResult.begin(), logical_or<bool>());
After this call to transform(), listResult(n) contains a 1 (true) if either list1(n) or list2(n) is true, or a 0 (false) if both list1(n) and list2(n) are false.
namespace std { template <class T> struct logical_or : binary_function<T, T, bool> { bool operator()(const T&, const T&) const; }; }
binary_function, Function Objects
ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.4