std::hash (std::string_view, std::wstring_view, std::u16string_view, std::u32string_view)

From cppreference.com
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)