Difference between revisions of "cpp/string/basic string view/hash"
From cppreference.com
< cpp | string | basic string view
m (link to zh) |
(these specializations are (since C++17) themselves) |
||
Line 3: | Line 3: | ||
{{dcl begin}} | {{dcl begin}} | ||
{{dcl header | string_view}} | {{dcl header | string_view}} | ||
− | {{dcl | since=c++17 | | + | {{dcl | since=c++17 | |
template<> struct hash<std::string_view>; | template<> struct hash<std::string_view>; | ||
template<> struct hash<std::wstring_view>; | template<> struct hash<std::wstring_view>; | ||
Line 13: | Line 13: | ||
Template specializations of {{lc|std::hash}} for the various view classes for hashing views. | Template specializations of {{lc|std::hash}} for the various view classes for hashing views. | ||
− | |||
− | |||
These hashes equal the hashes of corresponding {{lc|std::basic_string}} classes: If S is one of the standard basic_string types, SV is the corresponding string view type, and s is an object of type S, then {{c|std::hash<S>()(s) {{==}} std::hash<SV>()(SV(s))}}. | These hashes equal the hashes of corresponding {{lc|std::basic_string}} classes: If S is one of the standard basic_string types, SV is the corresponding string view type, and s is an object of type S, then {{c|std::hash<S>()(s) {{==}} std::hash<SV>()(SV(s))}}. | ||
− | |||
− | |||
===See also=== | ===See also=== | ||
Line 25: | Line 21: | ||
{{dsc end}} | {{dsc end}} | ||
− | + | {{langlinks|ja|zh}} |
Revision as of 09:34, 14 April 2018
Defined in header <string_view>
|
||
template<> struct hash<std::string_view>; template<> struct hash<std::wstring_view>; |
(since C++17) | |
Template specializations of std::hash for the various view classes for hashing views.
These hashes equal the hashes of corresponding std::basic_string classes: If S is one of the standard basic_string types, SV is the corresponding string view type, and s is an object of type S, then std::hash<S>()(s) == std::hash<SV>()(SV(s)).
See also
(C++11) |
hash function object (class template) |