Unary Type Traits describe a property of a single type. Every Unary Type Trait possesses a static data member named value. For most traits, this member has type bool, and indicates the presence or absence of a specific property or trait of the argument type. For example, the value of the following expression will be true if the type argument Ty is a union type, and false otherwise:
std::tr1::is_union<Ty>::value
typedef char arr[42];
size_t sz = std::tr1::extent<arr>::value; //sz == 42;
Every instance of a Unary Type Trait is derived from an instance of integral_constant. All Unary Type Traits are default-constructible.