#pragma once #include #include #include namespace ztu { namespace detail { struct string_hash { using is_transparent = void; using hash_type = std::hash; [[nodiscard]] std::size_t operator()(const char *txt) const { return hash_type{}(txt); } [[nodiscard]] std::size_t operator()(std::string_view txt) const { return hash_type{}(txt); } [[nodiscard]] std::size_t operator()(const std::string &txt) const { return hash_type{}(txt); } }; } template using string_lookup = std::unordered_map>; }