#ifndef FROZEN_LETITGO_BITS_ELSA_STD_H #define FROZEN_LETITGO_BITS_ELSA_STD_H #include "defines.h" #include "elsa.h" #include "hash_string.h" #ifdef FROZEN_LETITGO_HAS_STRING_VIEW #include #endif #include namespace frozen { #ifdef FROZEN_LETITGO_HAS_STRING_VIEW template struct elsa> { constexpr std::size_t operator()(const std::basic_string_view& value) const { return hash_string(value); } constexpr std::size_t operator()(const std::basic_string_view& value, std::size_t seed) const { return hash_string(value, seed); } }; #endif template struct elsa> { constexpr std::size_t operator()(const std::basic_string& value) const { return hash_string(value); } constexpr std::size_t operator()(const std::basic_string& value, std::size_t seed) const { return hash_string(value, seed); } }; } // namespace frozen #endif // FROZEN_LETITGO_BITS_ELSA_STD_H