|
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
|
|