std::hash <std::variant>
De cppreference.com
<tbody>
</tbody>
| 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.
Parámetros de plantilla
| Types | - | Los tipos de las alternativas soportadas por el objeto variant.
|
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.
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |
Véase también
(C++11) |
Objeto función de dispersión (hash). (plantilla de clase) |