Deriving from the `std::binary_function' base class template was never really needed (it's just some seldom used typedefs) and it had been deprecated since C++11 to be finally removed in C++17.