std::hash <std::variant>
来自cppreference.com
工具库
std::variant
成员函数 | ||||
观察器 | ||||
修改器 | ||||
非成员函数 | ||||
辅助类 | ||||
hash
|
||||
辅助对象 | ||||
在标头
<variant>
定义
|
||
template
<class...
Types>
struct hash<std::variant<Types...>>; |
(C++17 起) | |
std::hash 对 std::variant
模板的模板特化允许用户获得 variant
对象的哈希。
若启用 std::hash<std::remove_const_t<Types>>... 中的每个特化,则启用特化 std::hash<std::variant<Types...>> (见 std::hash ),否则禁用它。
不保证此特化的成员函数为 noexcept 。
模板形参
Types | - | variant 对象所支持的可选项类型
|
注意
不同于 std::hash<std::optional>
, variant
的哈希通常不会哈希所含的值;这使得可能辨别保有同一值为不同可选项的 std::variant<int, int> 。
示例
本节未完成 原因:暂无示例 |
参阅
(C++11)
|
散列函数对象 (类模板) |