#include "case_insensitive_string.h" #include size_t THash::operator()(TCaseInsensitiveStringBuf str) const noexcept { TMurmurHash2A hash; for (size_t i = 0; i < str.size(); ++i) { char lower = std::tolower(str[i]); hash.Update(&lower, 1); } return hash.Value(); } template <> void Out(IOutputStream& o, const TCaseInsensitiveString& p) { o.Write(p.data(), p.size()); } template <> void Out(IOutputStream& o, const TCaseInsensitiveStringBuf& p) { o.Write(p.data(), p.size()); }