std::binary_negate
Aus 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. |
definiert in Header <functional>
|
||
template< class Predicate > struct binary_negate : |
(bis C + +11) | |
template< class Predicate > struct binary_negate; |
(seit C++11) | |
binary_negate
ist ein Wrapper-Funktion Objekt wieder das Komplement der binären Prädikats es hält .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.
Die binäre Prädikat Typ muss definieren zwei Elementtypen,
first_argument_type
und second_argument_type
, die umwandelbar in das Prädikat der Parameter Typen sind. Die Funktion Objekte aus std::owner_less erhalten, 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 oder von einem Aufruf std::not2 haben diese Arten definiert, als Funktion von Objekten aus der veralteten std::binary_function abgeleitet sind . 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
Objekte werden einfach mit Hilfsfunktion std::not2 gebaut .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.
[Bearbeiten] Mitglied Typen
Type
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 |
[Bearbeiten] Member-Funktionen
(constructor) |
constructs a new binary_negate object with the supplied predicate (öffentliche Elementfunktion) |
operator() |
gibt das logische Komplement des Ergebnisses eines Anrufs zu dem gespeicherten Prädikat 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. (öffentliche Elementfunktion) |
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 | - | Prädikatfunktion Objekt
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 | - | erste Argument für bis Prädikat übergeben
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 | - | zweites Argument an bis zum Prädikat übergeben
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).
[Bearbeiten] Beispiel
#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'; }
Output:
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
[Bearbeiten] Siehe auch
(veraltet) |
Adapter kompatibel Binärfunktion Basisklasse 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. (Klassen-Template) |
(C++11) |
wickelt aufrufbare Objekt eines beliebigen Typs mit dem angegebenen Funktion Call-Signatur 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. (Klassen-Template) |
baut kundenspezifische std::binary_negate Objekt 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. (Funktions-Template) | |
(veraltet) |
schafft eine Adapter-kompatiblen Funktion Objekt-Wrapper von einem Zeiger auf eine Funktion 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. (Funktions-Template) |
Wrapper-Funktion Objekt wieder das Komplement des unären Prädikat es hält 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. (Klassen-Template) |