Three reasons: - class is a unary functor, - the typedefs obtained were not used, - binary_function is deprecated in C++11.