Man Page logical_and.3

```
Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.

```

NAME

```     logical_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>;

```

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

```

INTERFACE

```     template <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  parame-
ters, you always need to supply the Allocator template argu-
ment. For instance, you have to write:

vector<bool, allocator<bool> >

vector<bool>

If your compiler does not support namespaces,  then  you  do
not need the using declaration for std.

```

```     binary_function, Function_Objects

```