ash genérico para tuplas em unordered_map / unordered_set

Por que nãostd::unordered_map<tuple<int, int>, string> apenas trabalhar fora da caixa? É tedioso ter que definir uma função de hash paratuple<int, int>, por exemplo

template<> struct do_hash<tuple<int, int>>                               
{   size_t operator()(std::tuple<int, int> const& tt) const {...}  }; 

onstruindo um mapa não ordenado com tuplas como chav (Matthieu M.) mostra como automatizar isso paraboost::tuple. Existe alguma maneira de fazer isso para tuplas c ++ 0x sem usar modelos variados?

Certamente, isso deve estar no padrão:

questionAnswers(4)

yourAnswerToTheQuestion