# less<T>

Category: functors | Component type: type

### Description

`Less<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 `less<T>` and `x` and `y` are objects of class `T`, then `f(x,y)` returns `true` if `x < y` and `false` otherwise.

### Example

Finds the first negative element in a list.

    list<int> L;
    ...
    list<int>::iterator first_negative =
           find_if(L.begin(), L.end(), bind2nd(less<int>(), 0));
    assert(first_negative == L.end() || *first_negative < 0);

### 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 `less`'s arguments. |

### Model of

Adaptable Binary Predicate, DefaultConstructible

### Type requirements

`T` is LessThan Comparable.

### Public base classes

`binary_function<T, T, bool>`.

### Members

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

### New members

All of `less`'s members are defined in the Adaptable Binary Predicate and DefaultConstructible requirements. `less` does not introduce any new members.

### Notes

### See also

The function object overview, Strict Weak Ordering, Adaptable Binary Predicate, LessThan Comparable, `equal_to`, `not_equal_to`, `greater`, `greater_equal`, `less_equal`

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