The specialization hash<indirect<T, Allocator>>
is enabled ([unord.hash]) if and only if hash<T> is enabled.
When enabled for an object i of type indirect<T, Allocator>,
hash<indirect<T, Allocator>>()(i) evaluates to
either the same value as hash<T>()(*i),
if i is not valueless;
otherwise to an
implementation-defined
value.
The member functions are not guaranteed to be noexcept.