Namespaces
Variants

C++ named requirements: BinaryPredicate

From de.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 einen BinaryPredicate, der kein Compare-Typ ist.

entfernt aufeinanderfolgende doppelte Elemente
(öffentliche Memberfunktion von std::forward_list<T,Allocator>)
entfernt aufeinanderfolgende doppelte Elemente
(öffentliche Memberfunktion von std::list<T,Allocator>)
findet die letzte Sequenz von Elementen in einem bestimmten Bereich
(Funktionsschablone & Algorithmus-Funktionsobjekt)
sucht nach einem beliebigen Element einer Menge
(Funktionsschablone & Algorithmus-Funktionsobjekt)
findet die ersten beiden benachbarten Elemente, die gleich sind (oder ein gegebenes Prädikat erfüllen)
(Funktionsschablone & Algorithmus-Funktionsobjekt)
findet die erste Position, an der sich zwei Bereiche unterscheiden
(Funktionsschablone & Algorithmus-Funktionsobjekt)
bestimmt, ob zwei Mengen von Elementen gleich sind
(Funktionsschablone & Algorithmus-Funktionsobjekt)
bestimmt, ob eine Sequenz eine Permutation einer anderen Sequenz ist
(Funktionsschablone & Algorithmus-Funktionsobjekt)
sucht nach dem ersten Vorkommen einer Reihe von Elementen
(Funktionsschablone & Algorithmus-Funktionsobjekt)
sucht nach dem ersten Vorkommen einer Anzahl aufeinanderfolgender Kopien eines Elements in einem Bereich
(Funktionsschablone & Algorithmus-Funktionsobjekt)
entfernt aufeinanderfolgende doppelte Elemente in einem Bereich
(Funktionsschablone & Algorithmus-Funktionsobjekt)
erstellt eine Kopie eines Bereichs von Elementen ohne aufeinanderfolgende Duplikate
(Funktionsschablone & Algorithmus-Funktionsobjekt)
(veraltet in C++17)(entfernt in C++20)
erstellt ein benutzerdefiniertes std::binary_negate-Objekt
(Funktionsschablone)
Sammlung eindeutiger Schlüssel, gehasht nach Schlüsseln
(Klassenschablone)
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln, Schlüssel sind eindeutig
(Klassenschablone)
Sammlung von Schlüsseln, gehasht nach Schlüsseln
(Klassenschablone)
Sammlung von Schlüssel-Wert-Paaren, gehasht nach Schlüsseln
(Klassenschablone)

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