Namensräume
Varianten
Aktionen

std::owner_hash

Von cppreference.com
< cpp‎ | memory
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
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

bietet besitzerbasiertes Hashing von shared pointers
(public member function of std::shared_ptr<T>) [bearbeiten]
bietet besitzerbasiertes Hashing von weak pointers
(public member function of std::weak_ptr<T>) [bearbeiten]