This struct template implements a meta-function to determine whether the (template parameter) t_TYPE is trivially default-constructible. This struct derives from bsl::true_type if the t_TYPE is trivially default-constructible, and from bsl::false_type otherwise. This meta-function has the same syntax as the is_trivially_default_constructible meta-function defined in the C++11 standard [meta.unary.prop]; however, this meta-function can automatically determine the value for the following types only: reference types, fundamental types, enums, pointers to members, and types declared to have the bsl::is_trivially_default_constructible trait using the BSLMF_NESTED_TRAIT_DECLARATION macro (and the value for other types defaults to false). To support other trivially default-constructible types, this template must be specialized to inherit from bsl::true_type for them.
Declared in <bslmf_istriviallydefaultconstructible.h>
template<class t_TYPE>
struct is_trivially_default_constructible
: /* implementation-defined */::type
| Name | Description |
|---|---|
/* implementation-defined */::type |
| Name | Description |
|---|---|
is_trivially_default_constructible<owner_equal> | |
is_trivially_default_constructible<owner_hash> | |
is_trivially_default_constructible<hash<TYPE>> | |
is_trivially_default_constructible<owner_less<POINTER_TYPE>> | |
is_trivially_default_constructible<t_TYPE volatile> | This partial specialization ensures that volatile-qualified types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const> | This partial specialization ensures that const-qualified types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const volatile> | This partial specialization ensures that const-volatile-qualified types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE[]> | This partial specialization ensures that array-of-unknown-bound types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE volatile[]> | This partial specialization ensures that volatile-qualified array-of-unknown-bound types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const[]> | This partial specialization ensures that const-qualified array-of-unknown-bound types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const volatile[]> | This partial specialization ensures that const-volatile-qualified array-of-unknown-bound types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE[]> | This partial specialization ensures that array types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE volatile[]> | This partial specialization ensures that volatile-qualified array types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const[]> | This partial specialization ensures that const-qualified array types have the same result as their element type. |
is_trivially_default_constructible<t_TYPE const volatile[]> | This partial specialization ensures that const-volatile-qualified array types have the same result as their element type. |