std::hash<std::shared_ptr>

From cppreference.com
< cpp‎ | memory‎ | shared ptr
Memory management library
(exposition only*)
Uninitialized memory algorithms
(C++17)
(C++17)
(C++17)
(C++20)
Constrained uninitialized
memory algorithms
(C++20)
C Library

Allocators
(C++11)
(C++11)
Memory resources
Garbage collection support
(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)
Uninitialized storage
(until C++20*)
(until C++20*)
(until C++20*)
Explicit lifetime management
template < class T >
struct hash< std::shared_ptr <T>> ;
(since C++11)

The template specialization of std::hash for std::shared_ptr<T> allows users to obtain hashes of objects of type std::shared_ptr<T>

For a given std::shared_ptr<T> p , this specialization ensures that std::hash < std::shared_ptr <T>> ( ) (p) == std::hash <decltype(p.get ( ) ) > ( ) (p.get ( ) )

Example

See also

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