std::hash <std::variant>
STD::散列<std::Variable>
Defined in header | | |
---|---|---|
template <class... Types> struct hash<std::variant<Types...>>; | | (since C++17) |
模板的专门化std::hash
为std::variant
模板允许用户获取variant
物品。
专业化std::hash<std::variant<Types...>>已启用%28(参见std::hash29%std::hash<std::remove_const_t<Types>>...已启用,否则将禁用。
这种专门化的成员函数不能保证为NoOPTION。
模板参数
Types | - | the types of the alternatives supported by the variant object |
---|
注记
不像std::hash<std::optional>,变体的散列通常不等于包含值的散列;这使得区分是可能的。std::variant<int, int>持有相同的价值与不同的选择。
例
另见
hash (C++11) | hash function object (class template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。