std::not2
De cppreference.com
< cpp | utility | functional
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
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.
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.
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:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
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.
You can help to correct and verify the translation. Click here for instructions.
[editar]Ejemplo
Ejecuta este código
#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) |
(C++11) | Envuelve un objeto que puede ser llamado a cualquier tipo con la signatura de llamada a función especificada. (plantilla de clase) |
(en desuso en C++17)(eliminado en C++20) | Construye un objeto std::unary_negate personalizado. (plantilla de función) |
(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) |
(en desuso en C++11)(eliminado en C++17) | Clase base compatible con un adaptador de función binaria. (plantilla de clase) |