Espacios de nombres
Variantes
Acciones

std::hash <std::variant>

De cppreference.com
< cpp‎ | utility‎ | variant
 
 
Biblioteca de servicios
 
 
Definido en el archivo de encabezado <variant>
template<class... Types>
struct hash<std::variant<Types...>>;
(desde C++17)

La especialización de plantilla de std::hash para la plantilla std::variant permite a los usuarios obtener hashes (resúmenes) de objetos variant.

La especialización std::hash<std::variant<Types...>> se habilita (véase std::hash) si toda especialización en std::hash<std::remove_const_t<Types>>... está habilitada; de lo contrario, se deshabilita.

Las funciones miembro de esta especialización no se garantiza que sean noexcept.

Contenido

[editar]Parámetros de plantilla

Types - Los tipos de las alternativas soportadas por el objeto variant.

[editar]Notas

A diferencia de std::hash<std::optional>, el hash (resumen) de un variante típicamente no iguala al hash del valor contenido; esto hace posible distinguir que std::variant<int, int> mantenga el mismo valor que distintas alternativas.

[editar]Ejemplo

[editar]Véase también

(C++11)
Objeto función de dispersión (hash).
(plantilla de clase)[editar]
close