#pragma once #include template <> struct hash: ::NHashPrivate::TStringHash { }; template <> struct hash: ::NHashPrivate::TStringHash { }; template <> struct hash: ::NHashPrivate::TStringHash { }; template <> struct TEqualTo: public TEqualTo { using is_transparent = void; }; template <> struct TEqualTo: public TEqualTo { using is_transparent = void; }; template <> struct TEqualTo: public TEqualTo { using is_transparent = void; }; template <> struct TCIEqualTo { inline bool operator()(const TCowString& a, const TCowString& b) const { return a.size() == b.size() && strnicmp(a.data(), b.data(), a.size()) == 0; } }; template <> struct TLess: public TLess { using is_transparent = void; }; template <> struct TLess: public TLess { using is_transparent = void; }; template <> struct TLess: public TLess { using is_transparent = void; }; template <> struct TGreater: public TGreater { using is_transparent = void; }; template <> struct TGreater: public TGreater { using is_transparent = void; }; template <> struct TGreater: public TGreater { using is_transparent = void; };