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)
Definido en el encabezado <memory>
template < class T, class Allocator >
struct hash < std :: indirect < T, Allocator >> ;
(desde C++26)

La especialización parcial de std::hash para std::indirect permite a los usuarios obtener hashes de los objetos poseídos por los objetos indirect .

La especialización std:: hash < std :: indirect < T, Allocator >> está habilitada si std:: hash < T > está habilitada, y está deshabilitada en caso contrario.

Cuando está habilitado, para un objeto obj de tipo std :: indirect < T, Allocator > , std:: hash < std :: indirect < T, Allocator >> ( ) ( obj ) se evalúa como:

  • std:: hash < T > ( ) ( * obj ) , si obj no está sin valor .
  • Un valor definido por la implementación, si obj está sin valor.

Las funciones miembro de esta especialización no están garantizadas de ser noexcept porque el hash de T podría lanzar una excepción.

Ejemplo

Véase también

(C++11)
objeto función hash
(plantilla de clase)