[#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&period; Objects of a type with this trait can be default&hyphen;initialized by simply writing zeros into the memory footprint of the object&period; 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&period; (See the description of `TypeTraitBitwiseCopyable`&period;)

== Synopsis

Declared in `&lt;bslalg&lowbar;typetraithastrivialdefaultconstructor&period;h&gt;`

[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&lt;TYPE&gt;&colon;&colon;type`&period;
| xref:BloombergLP/bslalg/TypeTraitHasTrivialDefaultConstructor/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] 
| This class template ties the `bslalg&colon;&colon;TypeTraitHasTrivialDefaultConstructor` trait tag to the `bsl&colon;&colon;is&lowbar;trivially&lowbar;default&lowbar;constructible` trait metafunction&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
