Namespaces
Variants

std:: hash <std::indirect>

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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:

The member functions of this specialization are not guaranteed to be noexcept because the hash of T might throw.

Example

See also

(C++11)
hash function object
(class template)