is_empty

Answers true if the type is a class or union that has no data members, otherwise answers false. This is a key struct for determining if the space for an "empty" object can be optimized away or not.

  bool b = is_empty<T>::value;