std:: hash <std::indirect>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
|
hash
<std::indirect>
|
|
Definiert im Header
<memory>
|
||
|
template
<
class
T,
class
Allocator
>
struct hash < std :: indirect < T, Allocator >> ; |
(seit C++26) | |
Die partielle Spezialisierung von
std::hash
für
std::indirect
ermöglicht es Benutzern, Hashwerte der Objekte zu erhalten, die von
indirect
Objekten besessen werden.
Die Spezialisierung std:: hash < std :: indirect < T, Allocator >> ist aktiviert wenn std:: hash < T > aktiviert ist, und andernfalls deaktiviert.
Wenn aktiviert, ergibt sich für ein Objekt obj vom Typ std :: indirect < T, Allocator > , std:: hash < std :: indirect < T, Allocator >> ( ) ( obj ) zu:
- std:: hash < T > ( ) ( * obj ) , falls obj nicht wertlos ist.
- Ein implementierungsdefinierter Wert, falls obj wertlos ist.
Die Memberfunktionen dieser Spezialisierung sind nicht garantiert
noexcept
zu sein, weil der Hash von
T
möglicherweise eine Exception wirft.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++11)
|
Hash-Funktionsobjekt
(Klassentemplate) |