Namensräume
Varianten
Aktionen

std::unordered_map<Key,T,Hash,KeyEqual,Allocator>::bucket

Von cppreference.com
 
 
 
 
size_type bucket( const Key& key ) const;
(1) (seit C++11)
template< typename K >
size_type bucket( const K& x ) const;
(2) (seit C++26)
1) Gibt den Index des Buckets für den Schlüssel key zurück. Elemente (falls vorhanden) mit Schlüsseln, die zu key äquivalent sind, werden immer in diesem Bucket gefunden.
2) Gibt den Index des Buckets für den Schlüssel zurück, der dem Wert x als äquivalent verglichen wird. Elemente (falls vorhanden) mit Schlüsseln, die zu x äquivalent verglichen werden, werden immer in diesem Bucket gefunden. Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn Hash::is_transparent und KeyEqual::is_transparent gültig sind und jeweils einen Typ bezeichnen. Dies setzt voraus, dass ein solches Hash sowohl mit dem Typ K als auch mit dem Typ Key aufrufbar ist und dass KeyEqual transparent ist, was zusammen das Aufrufen dieser Funktion ermöglicht, ohne eine Instanz von Key zu konstruieren.

Der zurückgegebene Wert ist nur für Instanzen des Containers gültig, für die bucket_count() den gleichen Wert zurückgibt (z. B. macht rehash() einen zuvor erhaltenen Wert ungültig).

Das Verhalten ist undefiniert, wenn bucket_count() Null ist.

Inhalt

[edit] Parameter

key - Der Wert des zu untersuchenden Schlüssels
x - ein Wert eines beliebigen Typs, der transparent mit einem Schlüssel verglichen werden kann

[edit] Rückgabewert

Bucket-Index für den angeforderten Schlüssel.

[edit] Komplexität

Konstant.

[edit] Hinweise

Feature-Test-Makro Wert Std Feature
__cpp_lib_associative_heterogeneous_insertion 202311L (C++26) Heterogene Überladungen für die übrigen Memberfunktionen in geordneten und ungeordneten assoziativen Containern. (2)

[edit] Beispiel

[edit] Siehe auch

gibt die Anzahl der Elemente in einem bestimmten Bucket zurück
(public member function) [edit]