binary_function
Sintaxis:
template <class Arg1, class Arg2, class Result> struct binary_function;
binary_function es la plantilla sobre la cual están basados los functoides binarios (de dos parámetros) en C++ STL. De por sí esta plantilla no provee el comportamiento del functoide (operator()) sino que simplemente provee algunos aliases para el uso de clases derivadas que explícitamente implementan el comportamiento del functoide:
typedef Arg1 first_argument_type; typedef Arg2 second_argument_type; typedef Result result_type;
Limitaciones
Un functoide que herede de binary_function puede ser utilizado en cualquier algoritmo o construcción que espere un binary_function (por ejemplo, :es:stl:algorithm:equal). Pero un functoide que no herede de binary_function no puede ser utilizado en todos los algoritmos ya que algunos de éstos pueden requerir que estén definidos los aliases first_argument_type, etc.
C++0x resolverá esta ambigüedad al reemplazar esta construcción por la construcción para functoides genéricos function<>.