Namespaces
Variants

std::unordered_multiset<Key,Hash,KeyEqual,Allocator>:: contains

From cppreference.net

bool contains ( const Key & key ) const ;
(1) (seit C++20)
(constexpr seit C++26)
template < class K >
bool contains ( const K & x ) const ;
(2) (seit C++20)
(constexpr seit C++26)
1) Prüft, ob ein Element mit einem Schlüssel äquivalent zu key im Container vorhanden ist.
2) Prüft, ob ein Element mit einem Schlüssel vorhanden ist, der äquivalent zu x verglichen wird.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn Hash und KeyEqual beide transparent sind. Dies setzt voraus, dass ein solcher Hash sowohl mit dem Typ K als auch mit dem Typ Key aufrufbar ist und dass KeyEqual transparent ist, was zusammen ermöglicht, diese Funktion aufzurufen, ohne eine Instanz von Key zu konstruieren.

Inhaltsverzeichnis

Parameter

key - Schlüsselwert des zu suchenden Elements
x - ein Wert beliebigen Typs, der transparent mit einem Schlüssel verglichen werden kann

Rückgabewert

true falls ein solches Element existiert, andernfalls false .

Komplexität

Konstant im Durchschnitt, im schlimmsten Fall linear in der Größe des Containers.

Beispiel

#include <iostream>
#include <unordered_set>
int main()
{
    std::unordered_multiset<int> example{1, 2, 3, 4};
    for (int x : {2, 5})
        if (example.contains(x))
            std::cout << x << ": Found\n";
        else
            std::cout << x << ": Not found\n";
}

Ausgabe:

2: Found
5: Not found

Siehe auch

findet Element mit spezifischem Schlüssel
(öffentliche Elementfunktion)
gibt die Anzahl der Elemente mit spezifischem Schlüssel zurück
(öffentliche Elementfunktion)
gibt den Bereich der Elemente mit spezifischem Schlüssel zurück
(öffentliche Elementfunktion)