Function Object
A binary function object that returns true if either of its arguments are true.
None
#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(), 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.
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 parameters, you always need to supply the Allocator template argument. 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.
binary_function, Function Objects