Namespaces
Variants

std:: owner_hash

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)
Definido en el encabezado <memory>
struct owner_hash ;
(desde C++26)

Este objeto función proporciona hashing basado en propietario (en lugar de basado en valor) tanto para std::weak_ptr como para std::shared_ptr .

Contenidos

Tipos anidados

Tipo anidado Definición
is_transparent unspecified

Funciones miembro

operator()
calcula el hash del puntero de propiedad compartida
(función)

std::owner_hash:: operator()

template < class T >
std:: size_t operator ( ) ( const std:: shared_ptr < T > & key ) const noexcept ;
(1) (desde C++26)
template < class T >
std:: size_t operator ( ) ( const std:: weak_ptr < T > & key ) const noexcept ;
(2) (desde C++26)

Equivalente a return key. owner_hash ( ) ; .

Parámetros

key - puntero de propiedad compartida a ser hasheado

Valor de retorno

Un valor hash que es idéntico para cualquier objeto std::shared_ptr o std::weak_ptr que comparta la misma propiedad.

Notas

Macro de prueba de características Valor Std Característica
__cpp_lib_smart_ptr_owner_equality 202306L (C++26) Habilitar el uso de std::shared_ptr y std::weak_ptr como claves en contenedores asociativos desordenados

Véase también

(C++26)
proporciona hashing basado en propietario de punteros compartidos
(función miembro pública de std::shared_ptr<T> )
(C++26)
proporciona hashing basado en propietario de punteros débiles
(función miembro pública de std::weak_ptr<T> )