Definindo uma função de hash no TR1 unordered_map dentro de uma struct

De acordo comist, é possível definir uma função de igualdade em um TR1 unordered_map como este:

#include <tr1/unordered_map>
using namespace std;
using namespace std::tr1;
struct foo{
    ...
    bool operator==(const foo& b) const{
        return ..;
    }
};

unordered_map<foo,int> map;

possível definir a função hash da mesma maneir