template<class Arg1, class Arg2, class Result>
struct binary_function {
typedef Arg1 first_argument_type;
typedef Arg2 second_argument_type;
typedef Result result_type;
};
The template class serves as a base for classes that define a member function of the form:
result_type operator()(first_argument_type, second_argument_type)
Hence, all such binary functions can refer to their first argument type as first_argument_type
, their second
argument type as second_argument_type
, and their return type as result_type
.
See the related sample program.