¿Cómo especializar std :: hash <Key> :: operator () para el tipo definido por el usuario en contenedores desordenados?

Para admitir tipos de clave definidos por el usuario en std::unordered_set<Key>y std::unordered_map<Key, Value> uno tiene que proporcionar operator==(Key, Key)un functor hash: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t...