boost::hash<T*> —
template<typename T> struct hash<T*> { std::size_t operator()(T*) const; };
std::size_t operator()(T* val) const;
Unspecified in TR1, except that equal arguments yield the same result.
Doesn't throw