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 typedefs. Those typedefs 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
backwardcompatibility 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
STL Main Page