Espacios de nombres
Variantes
Acciones

std::binary_function

De cppreference.com
< cpp‎ | utility‎ | functional
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador transparentes
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
Negadores
(C++17)
Buscadores
Vinculadores y adaptadores antiguos
(hasta C++17)
binary_function
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
(hasta C++17)(hasta C++17)
(hasta C++17)(hasta C++17)

(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
 
Definido en el archivo de encabezado <functional>
template<

    class Arg1,
    class Arg2,
    class Result

>struct binary_function;
(en desuso)
binary_function es una clase base para la creación de objetos de función con dos argumentos .
Original:
binary_function is a base class for creating function objects with two arguments.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
binary_function no operator() definir, se espera que las clases derivadas se definen de esto. binary_function ofrece sólo tres tipos - first_argument_type, second_argument_type y result_type - definida por los parámetros de plantilla .
Original:
binary_function does not define operator(); it is expected that derived classes will define this. binary_function provides only three types - first_argument_type, second_argument_type and result_type - defined by the template parameters.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Algunos adaptadores de objetos de la biblioteca estándar de funciones, tales como std::not2, requieren los objetos de función se adaptan a ciertos tipos definidos; std::not2 requiere el objeto función que se está adaptada para tener dos tipos con nombre y first_argument_typesecond_argument_type. Derivación de objetos de la función que tienen dos argumentos de binary_function es una manera fácil para que sean compatibles con los adaptadores .
Original:
Some standard library function object adaptors, such as std::not2, require the function objects they adapt to have certain types defined; std::not2 requires the function object being adapted to have two types named first_argument_type and second_argument_type. Deriving function objects that take two arguments from binary_function is an easy way to make them compatible with those adaptors.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
binary_function está en desuso en C + +11. Su funcionalidad ha quedado obsoleto debido a std::function y otros objetos de función estándar de biblioteca, que definen los tipos necesarios .
Original:
binary_function is deprecated in C++11. Its functionality has been made obsolete by std::function and other standard library function objects, which define the necessary types.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Tipos de miembros

Tipo
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
first_argument_typeArg1
second_argument_typeArg2
result_typeResult

[editar]Ejemplo

#include <algorithm>#include <functional>#include <iostream>#include <vector>   struct same : std::binary_function<int, int, bool>{bool operator()(int a, int b)const{return a == b;}};   int main(){std::vector<int> v1{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};std::vector<int> v2{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};std::vector<bool> v3(v1.size());   std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(same()));   std::cout<<std::boolalpha;for(std::size_t i =0; i < v1.size();++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';}

Salida:

0 10 true 1 9 true 2 8 true 3 7 true 4 6 true 5 5 false 6 4 true 7 3 true 8 2 true 9 1 true

[editar]Ver también

(C++11)
Envuelve un objeto que puede ser llamado a cualquier tipo con la signatura de llamada a función especificada.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Crea un envoltorio de objeto función compatible con un adaptador de un puntero a función
(plantilla de función)[editar]
(en desuso en C++11)(eliminado en C++17)
Envoltorio compatible con un adaptador para un puntero a función binaria.
(plantilla de clase)[editar]
(en desuso en C++11)(eliminado en C++17)
Clase base de función unaria compatible con un adaptador.
(plantilla de clase)[editar]
close