std::owner_hash
Von cppreference.com
| Definiert in Header <memory> |
||
| struct owner_hash; |
(seit C++26) | |
Dieses Funktions-Objekt bietet ein besitzerbasiertes (im Gegensatz zu einem wertbasierten) Hashing von sowohl std::weak_ptr als auch std::shared_ptr.
Inhalt |
[bearbeiten] Verschachtelte Typen
| Verschachtelter Typ | Definition |
is_transparent
|
nicht spezifiziert |
[bearbeiten] Member-Funktionen
| operator() |
berechnet den Hash des gemeinsam genutzten Besitz-Zeigers (Funktion) |
std::owner_hash::operator()
| template< class T > std::size_t operator()( const std::shared_ptr<T>& key ) const noexcept; |
(1) | (seit C++26) |
| template< class T > std::size_t operator()( const std::weak_ptr<T>& key ) const noexcept; |
(2) | (seit C++26) |
Entspricht return key.owner_hash();.
Parameter
| key | - | gemeinsam genutzter Besitz-Zeiger, der gehasht werden soll |
Rückgabewert
Ein Hash-Wert, der für jedes std::shared_ptr oder std::weak_ptr Objekt, das denselben Besitz teilt, identisch ist.
[bearbeiten] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality |
202306L |
(C++26) | Ermöglicht die Verwendung von std::shared_ptr und std::weak_ptr als Schlüssel in ungeordneten assoziativen Containern |
[bearbeiten] Siehe auch
| (C++26) |
bietet besitzerbasiertes Hashing von shared pointers (public member function of std::shared_ptr<T>) |
| (C++26) |
bietet besitzerbasiertes Hashing von weak pointers (public member function of std::weak_ptr<T>) |