Namensräume
Varianten
Aktionen

C++ benannte Anforderungen: BinaryPredicate

Von cppreference.com
 
 
C++ benannte Anforderungen
 

BinaryPredicate ist eine Menge von Anforderungen, die einige Standardbibliotheksfunktionen an die vom Benutzer bereitgestellten Argumente stellen.

Gegeben sei ein BinaryPredicate bin_pred und ein Paar von Iteratoren iter1 und iter2 oder ein Iterator iter und ein (möglicherweise const) Wert value, so müssen der Typ und die Wertkategorie des Ausdrucks bin_pred(*iter1, *iter2) oder, beziehungsweise, bin_pred(*iter, value), die BooleanTestable-Anforderungen erfüllen.

Darüber hinaus darf die Auswertung dieses Ausdrucks keine Nicht-const-Memberfunktionen der dereferenzierten Iteratoren aufrufen; syntaktisch muss der Prädikatargumente const-Objekte akzeptieren, mit demselben Verhalten, unabhängig davon, ob seine Argumente const oder nicht-const sind.

[bearbeiten] Anforderungen

[bearbeiten] Standardbibliothek

Die folgenden Standardbibliotheksfunktionen erwarten ein BinaryPredicate, das kein Compare-Typ ist.

entfernt aufeinanderfolgende doppelte Elemente
(öffentliche Memberfunktion von std::forward_list<T,Allocator>) [bearbeiten]
entfernt aufeinanderfolgende doppelte Elemente
(öffentliche Memberfunktion von std::list<T,Allocator>) [bearbeiten]
Findet die letzte Sequenz von Elementen in einem bestimmten Bereich
(Funktionstempelat) [edit]
Sucht nach einem der Elemente aus einer Menge von Elementen
(Funktionstempelat) [edit]
Findet die ersten beiden benachbarten Elemente, die gleich sind (oder eine gegebene Bedingung erfüllen)
(Funktionstempelat) [edit]
Findet die erste Position, an der sich zwei Bereiche unterscheiden
(Funktionstempelat) [edit]
Bestimmt, ob zwei Elementmengen gleich sind
(Funktionstempelat) [edit]
bestimmt, ob eine Sequenz eine Permutation einer anderen Sequenz ist
(Funktionsvorlage) [editieren]
Sucht nach dem ersten Vorkommen eines Elementbereichs
(Funktionstempelat) [edit]
Sucht nach dem ersten Vorkommen einer Anzahl aufeinanderfolgender Kopien eines Elements in einem Bereich
(Funktionstempelat) [edit]
Entfernt aufeinanderfolgende doppelte Elemente in einem Bereich
(Funktionstemplate) [edit]
Erstellt eine Kopie eines Bereichs von Elementen, die keine aufeinanderfolgenden Duplikate enthält
(Funktionstemplate) [edit]
(in C++17 veraltet)(in C++20 entfernt)
konstruiert ein benutzerdefiniertes std::binary_negate-Objekt
(Funktionsvorlage) [edit]
Sammlung eindeutiger Schlüssel, gehasht nach Schlüsseln
(Klassenvorlage) [edit]
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln, Schlüssel sind eindeutig
(Klassenvorlage) [edit]
Sammlung von Schlüsseln, gehasht nach Schlüsseln
(Klassenvorlage) [edit]
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln
(Klassenvorlage) [edit]

[bearbeiten] Fehlerberichte

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 2114
(P2167R3)
C++98 Konvertierbarkeit von Rückgabetypen nach bool war zu schwach
um die Erwartungen der Implementierungen widerzuspiegeln
Anforderungen verstärkt
LWG 3031 C++98 Anforderungen an const-Werte waren unzureichend Anforderungen verstärkt