Gets the unique type identifier associated with the given type.
T
type_id::of<T>() == type_id::of<U>()
std:is_same<T, U>()
This overload only participates in overload resolution if T is void.
void