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.

Synopsis

Declared in <bslmf_istriviallydefaultconstructible.h>

template<class t_TYPE>
struct is_trivially_default_constructible
    : /* implementation-defined */::type

Base Classes

Name

Description

/* implementation-defined */::type

Specializations

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.

Created with MrDocs