std::binary_negate
Da cppreference.com
< cpp | utility | functional
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <functional> | ||
template<class Predicate > struct binary_negate : | (até C++11) | |
template<class Predicate > struct binary_negate; | (desde C++11) | |
binary_negate
é um objeto função wrapper retornando o complemento do predicado binário que detém.Original:
binary_negate
is a wrapper function object returning the complement of the binary predicate it holds.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.
O tipo de predicado binário deve definir dois tipos de membros, e
first_argument_type
second_argument_type
, que são conversíveis para o predicado tipos de parâmetros. Os objectos de função obtidos 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 , ou a partir de uma chamada para std::not2 têm esses tipos definidos, assim como os objectos funcionais derivados da std::binary_function preterido. 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 a 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.
binary_negate
objetos são facilmente construídos com a função de ajudante std::not2.Original:
binary_negate
objects are easily constructed with helper function std::not2.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]Tipos de membro
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_type | Predicate::first_argument_type |
second_argument_type | Predicate::second_argument_type |
result_type | bool |
[editar]Funções de membro
(constructor) | constructs a new binary_negate object with the supplied predicate (função pública membro) |
operator() | retorna o complemento lógico de o resultado de uma chamada para o predicado armazenado Original: returns the logical complement of the result of a call to the stored predicate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |
std :: binary_negate ::Original:std::binary_negate::The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.binary_negate
Original:
std::binary_negate::
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.
explicit binary_negate( Predicate const& pred ); | ||
Constructs a binary_negate
function object with the stored predicate pred
.
Parameters
pred | - | objeto função de predicado Original: predicate function object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
std :: binary_negate ::Original:std::binary_negate::The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.operator()
Original:
std::binary_negate::
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.
bool operator()( first_argument_type const& x, second_argument_type const& y )const; | ||
Returns the logical complement of the result of calling pred(x, y).
Parameters
x | - | primeiro argumento para passar para predicado Original: first argument to pass through to predicate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
y | - | O segundo argumento para passar para predicado Original: second argument to pass through to predicate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Return value
The logical complement of the result of calling pred(x, y).
[editar]Exemplo
#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;std::vector<int> v2;for(int i =0; i <10;++i) v1.push_back(i);for(int i =0; i <10;++i) v2.push_back(10- i); std::vector<bool> v3(v1.size()); std::binary_negate<same> not_same((same())); std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), not_same); /* C++11 solution: // Use std::function<bool (int, int)> std::function<bool (int, int)> not_same = [](int x, int y)->bool{ return !same()(x, y); }; std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), not_same); */ std::cout.setf(std::ios_base::boolalpha);for(int i =0; i <10;++i)std::cout<< v1[i]<<' '<< v2[i]<<' '<< v3[i]<<'\n';}
Saída:
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]Veja também
(obsoleta) | adaptador compatível binário classe base função Original: adaptor-compatible binary function base class The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de classe) |
(C++11) | envolve objeto que pode ser chamado de qualquer tipo com a assinatura especificada função chamada Original: wraps callable object of any type with specified function call signature The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de classe) |
constrói objeto std::binary_negate personalizado Original: constructs custom std::binary_negate object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de função) | |
(obsoleta) | cria um adaptador compatível com invólucro objeto de função de um ponteiro para função Original: creates an adaptor-compatible function object wrapper from a pointer to function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de função) |
objeto função wrapper retornando o complemento do predicado unário que detém Original: wrapper function object returning the complement of the unary predicate it holds The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (modelo de classe) |