Namespaces
Variants
Views
Actions

std::hash<std::shared_ptr>

From cppreference.com
< cpp‎ | memory‎ | shared ptr
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
Dynamic memory management
Uninitialized memory algorithms
(C++17)
(C++17)
(C++20)
(C++17)
Constrained uninitialized
memory algorithms
C Library

Allocators
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*)
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()).

[edit] Example

[edit] See also

(C++11)
hash function object
(class template) [edit]