Espacios de nombres
Variantes
Acciones

std::not2

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)
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
not2
(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 Predicate >
std::binary_negate<Predicate> not2(const Predicate& pred);
not2 es una función auxiliar para crear un objeto de función que devuelve el complemento de la función de predicado binario pasado. El objeto creado es función de std::binary_negate<Predicate> tipo .
Original:
not2 is a helper function to create a function object that returns the complement of the binary predicate function passed. The function object created is of type std::binary_negate<Predicate>.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
El tipo de predicado binario deben definir dos tipos de miembros, first_argument_type y second_argument_type, que sean convertibles a tipos de parámetros del predicado. Los objetos de función obtenidos de std::owner_less, std::ref, std::cref, std::plus, std::minus, std::multiplies, std::divides, std::modulus, std::equal_to, std::not_equal_to, std::greater, std::less, std::greater_equal, std::less_equal, std::logical_not, std::logical_or, std::bit_and, std::bit_or, std::bit_xor, std::mem_fn, std::map::value_comp, std::multimap::value_comp, std::function , o de otra llamada a tener std::not2 estos tipos definidos, como son objetos función derivada de la std::binary_function obsoleto .
Original:
The binary predicate type must define two member types, first_argument_type and second_argument_type, that are convertible to the predicate's parameter types. The function objects obtained from std::owner_less, std::ref, std::cref, std::plus, std::minus, std::multiplies, std::divides, std::modulus, std::equal_to, std::not_equal_to, std::greater, std::less, std::greater_equal, std::less_equal, std::logical_not, std::logical_or, std::bit_and, std::bit_or, std::bit_xor, std::mem_fn, std::map::value_comp, std::multimap::value_comp, std::function, or from another call to std::not2 have these types defined, as are function objects derived from the deprecated std::binary_function.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar]Parámetros

pred -
predicado unario
Original:
unary predicate
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Valor de retorno

std::not2 devuelve un objeto de tipo std::binary_negate<Predicate>, construido con pred .
Original:
std::not2 returns an object of type std::binary_negate<Predicate>, constructed with pred.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Excepciones

Ninguno .
Original:
None.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Ejemplo

#include <algorithm>#include <functional>#include <iostream>#include <vector>   struct old_same :std::binary_function<int, int, bool>{bool operator()(int a, int b)const{return a == b;}};   struct new_same {bool operator()(int a, int b)const{return a == b;}};   bool same_fn(int a, int b){return a == b;}     int main(){std::vector<int> v1{0, 1, 2};std::vector<int> v2{2, 1, 0};std::vector<bool> v3(v1.size());   std::cout<<"negating a binary_function:\n";std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(old_same()));   std::cout<<std::boolalpha;for(std::size_t i =0; i < v1.size();++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';   std::cout<<"negating a standard functor:\n";std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(std::equal_to<int>()));   for(std::size_t i =0; i < v1.size();++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';   std::cout<<"negating a std::function:\n";std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(std::function<bool(int,int)>(new_same())));   for(std::size_t i =0; i < v1.size();++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';   std::cout<<"negating a std::reference_wrapper:\n";std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(std::ref(same_fn)));   for(std::size_t i =0; i < v1.size();++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';   }

Salida:

negating a binary_function: 0 2 true 1 1 false 2 0 true negating a standard functor: 0 2 true 1 1 false 2 0 true negating a std::function: 0 2 true 1 1 false 2 0 true negating a std::reference_wrapper: 0 2 true 1 1 false 2 0 true

[editar]Ver también

(en desuso en C++17)(eliminado en C++20)
Envoltorio de objeto función que devuelve el complemento del predicado binario que mantiene.
(plantilla de clase)[editar]
(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++17)(eliminado en C++20)
Construye un objeto std::unary_negate personalizado.
(plantilla de función)[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)
Clase base compatible con un adaptador de función binaria.
(plantilla de clase)[editar]
close