Como estender std :: tr1 :: hash para tipos personalizados?
Como permito que a implementação do STL pegue meus tipos personalizados? No MSVC, existe uma classestd::tr1::hash
, que posso me especializar parcialmente usando
namespace std
{
namespace tr1
{
template <>
struct hash<MyType>
{ ... };
}
}
mas essa é a maneira recomendada? Além disso, isso funciona com a implementação do GCC também? Paraboost::hash
, basta fornecer uma função gratuitasize_t hash_value (const MyType&)
, existe algo semelhante para a implementação do TR