than Myers termed a <i>baggage
class</i>[1]. In the Boost type-traits library, we[2] have
written a set of very specific traits classes, each of which
encapsulate a single trait from the C++ type system; for example,
is a type a pointer or a reference type? Or does a type have a
trivial constructor, or a const-qualifier? The type-traits
classes share a unified design: each class has a single member <i>value</i>,
a compile-time constant that is true if the type has the
specified property, and false otherwise