<hash string_view especialización>hash<string_view> Specialization

Especialización de plantilla que genera un valor hash dado un string_view.A template specialization that produces a hash value given a string_view.

template <class CharType, class Traits>
struct hash<basic_string_view<CharType, Traits>>
{
    typedef basic_string_view<CharType, Traits> argument_type;
    typedef size_t result_type;

    size_t operator()(const basic_string_view<CharType, Traits>) const
        noexcept;
};

ObservacionesRemarks

El hash de un string_view es igual al valor hash del objeto de cadena subyacente.The hash of a string_view equals the hash of the underlying string object.

EjemploExample

//compile with: /std:c++17
#include <string>
#include <string_view>
#include <iostream>

using namespace std;

int main()
{
    string_view sv{ "Hello world" };
    string s{ "Hello world" };
    cout << boolalpha << (hash<string_view>{}(sv)
        == hash<string>{}(s)); // true
}