Espacios de nombres
Variantes
Acciones

binary_function

De cppreference.com


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<>.

Tópicos Relacionados