20 General utilities library [utilities]

20.7 Variants [variant]

20.7.11 Hash support [variant.hash]

template <class... Types> struct hash<variant<Types...>>;

The specialization hash<variant<Types...>> is enabled ([unord.hash]) if and only if every specialization in hash<remove_const_t<Types>>... is enabled.

template <> struct hash<monostate>;

The specialization is enabled ([unord.hash]).