Original Post
I don't understand how deriving classes from binary_function: and giving them a () operator makes them behave as a function pointer (that gets two inputs and returns an output). Could someone explain? Thanks.
#include <functional>
template<class Arg1, class Arg2, class Result>
struct binary_function {
typedef Arg1 first_argument_type;
typedef Arg2 second_argument_type;
typedef Result result_type;
};