template<> struct hash<string>; template<> struct hash<u16string>; template<> struct hash<u32string>; template<> struct hash<wstring>;
Если S является одним из этих строковых типов, SV является соответствующим строковым типом представления и s является объектом типа S, то hash<S>()(s) == hash<SV>()(SV(s)).