Inherits: If T is a (possibly cv-qualified)
type with a trivial default-constructor then inherits from true_type,
otherwise inherits from false_type.

These two traits are synonyms for each other.

If a type has a trivial default-constructor then the constructor have no
effect: calls to the constructor can be safely omitted. Note that using meta-programming
to omit a call to a single trivial-constructor call is of no benefit whatsoever.
However, if loops and/or exception handling code can also be omitted, then
some benefit in terms of code size and speed can be obtained.

Compiler Compatibility: If the compiler
does not support partial-specialization of class templates, then this template
can not be used with function types.

Without some (as yet unspecified) help from the compiler, has_trivial_constructor
will never report that a user-defined class or struct has a trivial constructor;
this is always safe, if possibly sub-optimal. Currently (May 2005) only MWCW
9 and Visual C++ 8 have the necessary compiler intrinsics
to detect user-defined classes with trivial constructors.

C++ Standard Reference: 12.1p6.

Header:#include<boost/type_traits/has_trivial_constructor.hpp>
or #include<boost/type_traits.hpp>