Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/basic string view/hash"

From cppreference.com
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 | 1=
+
{{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.
  
{{rev begin}}
 
{{rev|since=c++17|
 
 
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))}}.
}}
 
{{rev end}}
 
  
 
===See also===
 
===See also===
Line 25: Line 21:
 
{{dsc end}}
 
{{dsc end}}
  
[[zh:cpp/string/basic_string_view/hash]]
+
{{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>;
template<> struct hash<std::u16string_view>;

template<> struct hash<std::u32string_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) [edit]