VMS Help CXXLSTD, Function Objects, logical_and *Conan The Librarian |
Standard C++ Library Copyright 1996, Rogue Wave Software, Inc. NAME logical_and - Binary function object that returns true if both of its arguments are true. SYNOPSIS #include <functional> template <class T> struct logical_and : public binary_function<T, T, bool>; DESCRIPTION logical_and is a binary function object. Its operator() returns true if both x and y are true. You can pass a logical_and 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_and 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_and<bool>()); After this call to transform, vecResult(n) will contain a "1" (true) if both vec1(n) and vec2(n) are true or a "0" (false) if either vec1(n) or vec2(n) is false. INTERFACE template <class T> struct logical_and : binary_function<T, T, bool> { typedef typename binary_function<T, T, bool>::second_argument_type second_argument_type; typedef typename binary_function<T, T, bool>::first_argument_type first_argument_type; typedef typename binary_function<T, T, bool>::result_type result_type; bool operator() (const T&, const T&) const; }; WARNING If your compiler does not support default template parameters, you will need to always supply the Allocator template argument. For instance, you will have to write : vector<bool, allocator<bool> > instead of: vector<bool> SEE ALSO binary_function, function objects STANDARDS CONFORMANCE ANSI X3J16/ISO WG21 Joint C++ Committee
|