logical_and(3C++) - logical_and(3C++)
Standard C++ Library Copyright 1998, Rogue Wave Software, Inc.
NAMElogical_and
- A 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>;
DESCRIPTIONlogical_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 algo‐
rithm that requires a binary function. For example, the transform algo‐
rithm applies a binary operation to corresponding values in two collec‐
tions 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) contains 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.
INTERFACEtemplate <class T>
struct logical_and : binary_function<T, T, bool> {
bool operator() (const T&, const T&) const;
};
WARNINGS
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.
SEE ALSO
binary_function, Function_Objects
Rogue Wave Software 02 Apr 1998 logical_and(3C++)