[#BloombergLP-bslalg-TypeTraitHasTrivialDefaultConstructor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::TypeTraitHasTrivialDefaultConstructor :relfileprefix: ../../ :mrdocs: A `TYPE` with this trait has a trivial default constructor. Objects of a type with this trait can be default‐initialized by simply writing zeros into the memory footprint of the object. Although it is possible for such a type not to be bitwise copyable, undefined behavior may result if this trait is assigned to such a type. (See the description of `TypeTraitBitwiseCopyable`.) == Synopsis Declared in `<bslalg_typetraithastrivialdefaultconstructor.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct TypeTraitHasTrivialDefaultConstructor; ---- == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/TypeTraitHasTrivialDefaultConstructor/Metafunction.adoc[`Metafunction`] | Metafunction that evaluates to `HasTrivialDefaultConstructor<TYPE>::type`. | xref:BloombergLP/bslalg/TypeTraitHasTrivialDefaultConstructor/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitHasTrivialDefaultConstructor` trait tag to the `bsl::is_trivially_default_constructible` trait metafunction. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#