std:: hash <std::indirect>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
|
hash
<std::indirect>
|
|
Defined in header
<memory>
|
||
|
template
<
class
T,
class
Allocator
>
struct hash < std :: indirect < T, Allocator >> ; |
(since C++26) | |
The partial specialization of
std::hash
for
std::indirect
allows users to obtain hashes of the objects owned by
indirect
objects.
The specialization std:: hash < std :: indirect < T, Allocator >> is enabled if std:: hash < T > is enabled, and is disabled otherwise.
When enabled, for an object obj of type std :: indirect < T, Allocator > , std:: hash < std :: indirect < T, Allocator >> ( ) ( obj ) evaluates to:
- std:: hash < T > ( ) ( * obj ) , if obj is not valueless .
- An implementation-defined value, if obj is valueless.
The member functions of this specialization are not guaranteed to be
noexcept
because the hash of
T
might throw.
Example
|
This section is incomplete
Reason: no example |
See also
|
(C++11)
|
hash function object
(class template) |