Table 1: Traits class expression semantics

is_same<A, B>::value                       true if A and B are the same type.

is_base_and_derived<A, B>::value         true if A is a base class of B, or if A and B are the same class. 
                                                                   
is_convertible<A, B>::value               true if there is an implicit conversion from type A to type B.
                                                                   
is_arithmetic<A>::value                    true if A is an integral or floating-point type.