# binary_function<Arg1, Arg2, Result>

Category: functors | Component type: type

### Description

`Binary_function` is an empty base class: it contains no member functions or member variables, but only type information. The only reason it exists is to make it more convenient to define types that are models of the concept Adaptable Binary Function. Specifically, any model of Adaptable Binary Function must define nested `typedef`s. Those `typedef`s are provided by the base class `binary_function`.

### Example

    struct exponentiate : public binary_function<double, double, double> {
        double operator()(double x, double y) { return pow(x, y); }
    };

### Definition

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

### Template parameters

Parameter | Description | Default
--- | --- | ---
`Arg1` | The function object's first argument type |
`Arg2` | The function object's second argument type |
`Result` | The function object's result type |

### Model of

Assignable, Default Constructible

### Type requirements

### Public base classes

None.

### Members

Member | Where defined | Description
--- | --- | ---
`first_argument_type` | `unary_function` | See below.
`second_argument_type` | `unary_function` | See below.
`result_type` | `unary_function` | See below.

### New members

These members are not defined in the Assignable and Default Constructible requirements, but are specific to `unary_function`.

Member | Description
--- | ---
`first_argument_type` | The function object's first argument type. This is a `typedef` for the template parameter `Arg1`.
`second_argument_type` | The function object's second argument type. This is a `typedef` for the template parameter `Arg2`.
`result_type` | The function object's result type. This is a `typedef` for the template parameter `Result`.

### Notes

### See also

The Function Object overview, Adaptable Binary Function, `unary_function`

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