#pragma once #include "defs.h" #include "../hash.h" namespace std { template<> struct hash { size_t operator() (panda::string_view v) const { return panda::hash::hashXX(v); } }; template<> struct hash { size_t operator() (panda::u16string_view v) const { return panda::hash::hashXX(panda::string_view((const char*)v.data(), v.length() * sizeof(char16_t))); } }; template<> struct hash { size_t operator() (panda::u32string_view v) const { return panda::hash::hashXX(panda::string_view((const char*)v.data(), v.length() * sizeof(char32_t))); } }; template<> struct hash { size_t operator() (panda::wstring_view v) const { return panda::hash::hashXX(panda::string_view((const char*)v.data(), v.length() * sizeof(wchar_t))); } }; }