Namespaces
Variants

C++ named requirements: BinaryPredicate

From cppreference.net
C++ named requirements

BinaryPredicate ist eine Reihe von Anforderungen, die von einigen Standardbibliothek-Komponenten von den benutzerbereitgestellten Argumenten erwartet werden.

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

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

Anforderungen

Standardbibliothek

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

Entfernt aufeinanderfolgende doppelte Elemente
(Öffentliche Elementfunktion von std::forward_list<T,Allocator> )
Entfernt aufeinanderfolgende doppelte Elemente
(Öffentliche Elementfunktion von std::list<T,Allocator> )
Findet die letzte Sequenz von Elementen in einem bestimmten Bereich
(Funktionstemplate)
Sucht nach einem beliebigen Element aus einer Menge von Elementen
(Funktionstemplate)
Findet die ersten zwei benachbarten Elemente, die gleich sind (oder ein gegebenes Prädikat erfüllen)
(Funktionstemplate)
Findet die erste Position, an der zwei Bereiche sich unterscheiden
(Funktionstemplate)
Bestimmt, ob zwei Mengen von Elementen identisch sind
(Funktionstemplate)
Bestimmt, ob eine Sequenz eine Permutation einer anderen Sequenz ist
(Funktionstemplate)
Sucht nach dem ersten Vorkommen eines Bereichs von Elementen
(Funktionstemplate)
Sucht nach dem ersten Vorkommen einer Anzahl aufeinanderfolgender Kopien eines Elements in einem Bereich
(Funktionstemplate)
Entfernt aufeinanderfolgende doppelte Elemente in einem Bereich
(Funktionstemplate)
Erstellt eine Kopie eines Bereichs von Elementen, die keine aufeinanderfolgenden Duplikate enthält
(Funktionstemplate)
(veraltet in C++17) (entfernt in C++20)
Konstruiert benutzerdefiniertes std::binary_negate Objekt
(Funktionstemplate)
Sammlung eindeutiger Schlüssel, gehasht nach Schlüsseln
(Klassentemplate)
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln, Schlüssel sind eindeutig
(Klassentemplate)
Sammlung von Schlüsseln, gehasht nach Schlüsseln
(Klassentemplate)
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln
(Klassentemplate)

Fehlerberichte

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

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2114
( P2167R3 )
C++98 Konvertierbarkeit von Rückgabetypen zu 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