std::owner_hash
From cppreference.com
C++
Memory management library
|
|
|
Defined in header <memory>
|
||
struct owner_hash; |
(since C++26) | |
This function object provides owner-based (as opposed to value-based) hashing of both std::weak_ptr and std::shared_ptr
Nested types
Nested type | Definition |
is_transparent
|
unspecified |
Member functions
operator() |
calculates the hash of the shared-ownership pointer (function) |
std::owner_hash::operator()
template
<
class T >
std::size_t operator( ) ( const std::shared_ptr <T> & key ) const noexcept ; |
(1) | (since C++26) |
template
<
class T >
std::size_t operator( ) ( const std::weak_ptr <T> & key ) const noexcept ; |
(2) | (since C++26) |
Equivalent to return key.owner_hash();.
Parameters
key | - | shared-ownership pointer to be hashed |
Return value
A hash value that is identical for any std::shared_ptr or std::weak_ptr
Notes
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_smart_ptr_owner_equality |
202306L |
(C++26) | Enabling the use of std::shared_ptr and std::weak_ptr as keys in unordered associative containers
|
See also
(C++26)
|
provides owner-based hashing of shared pointers (public member function of std::shared_ptr<T> ) |
(C++26)
|
provides owner-based hashing of weak pointers (public member function of std::weak_ptr<T> ) |