is_same

This struct can be used to tell if two types are the same type or not.

  bool b = is_same<T, U>::value;
  
Listing: Example of is_same
bool b = is_same<const int, int>::value;
The resulting value is false. int and const int are two distinct types.