template< typename CharT, typename Traits, typename Alloc >
struct hash< std::basic_string<CharT, Traits, Alloc> > {
size_t operator()(const std::basic_string<CharT, Traits, Alloc>& s) const {
template< typename CharT, typename Traits, typename Alloc >
struct hash< std::basic_string<CharT, Traits, Alloc> > {
size_t operator()(const std::basic_string<CharT, Traits, Alloc>& s) const {