unary_function

template<class Arg, class Result>
    struct unary_function {
    typedef Arg 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()(argument_type)

Hence, all such unary functions can refer to their sole argument type as argument_type and their return type as result_type.

See the related sample program.