# logical_or<T>

Category: functors | Component type: type

### Description

`Logical_or<T>` is a function object; specifically, it is an Adaptable Binary Predicate, which means it is a function object that tests the truth or falsehood of some condition. If `f` is an object of class `logical_and<T>` and `x` and `y` are objects of class `T` (where `T` is convertible to `bool`) then `f(x,y)` returns true if and only if either `x` or `y` is `true`. [1]

### Example

Finds the first instance of either ' ' or '\n' in a string.

    char str[MAXLEN];
    ...
    const char* wptr = find_if(str, str + MAXLEN,
                               compose2(logical_or<bool>(),
                                        bind2nd(equal_to<char>(), ' '),
                                        bind2nd(equal_to<char>(), '\n')));
    assert(wptr == str + MAXLEN || *wptr == ' ' || *wptr == '\n');

### Definition

Defined in the standard header functional, and in the nonstandard backward-compatibility header function.h.

### Template parameters

Parameter | Description | Default
--- | --- | ---
`T` | The type of `logical_or`'s arguments |

### Model of

Adaptable Binary Predicate, DefaultConstructible

### Type requirements

`T` must be convertible to `bool`.

### Public base classes

`binary_function<T, T, bool>`

### Members

Member | Where defined | Description
--- | --- | ---
`first_argument_type` | Adaptable Binary Function | The type of the first argument: `T`
`second_argument_type` | Adaptable Binary Function | The type of the second argument: `T`
`result_type` | Adaptable Binary Function | The type of the result: `bool`
`bool operator()(const T& x, const T& y) const` | Binary Function | Function call operator. The return value is `x || y`.
`logical_or()` | Default Constructible | The default constructor.

### New members

All of `logical_or`'s members are defined in the Adaptable Binary Function and Default Constructible requirements. `Logical_or` does not introduce any new members.

### Notes

[1] `Logical_and` and `logical_or` are not very useful by themselves. They are mainly useful because, when combined with the function object adaptor `binary_compose`, they perform logical operations on other function objects.

### See also

The function object overview, `logical_and`, `logical_not`.

Copyright © 1999 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation