class template specialization
<typeindex>

std::hash<type_index>

template <class T> struct hash;          // unspecialized
template <> struct hash <type_index>;    // type_index
Hash for type_index
Unary function object class that defines the hash specialization for type_index.

The functional call returns a hash value based on the type referred to by the type_index object: A hash value is a value that depends solely on its argument, returning always the same value for the same argument (for a given program execution). The value returned shall have a small likelihood of being the same as the one returned for a different argument (with chances of collision approaching 1/numeric_limits<size_t>::max).

This allows the use of type_index objects as keys for unordered containers (like unordered_set or unordered_map).

See hash for additional information.

Member functions

operator()
Returns a hash value for its argument, as a value of type size_t.
size_t is an unsigned integral type.