[#bsl-is_copy_constructible] = xref:bsl.adoc[bsl]::is_copy_constructible :relfileprefix: ../ :mrdocs: This `struct` template implements a meta‐function to determine whether the (template parameter) `t_TYPE` is copy constructible. This `struct` derives from `bsl::true_type` if the `t_TYPE` is copy constructible, and from `bsl::false_type` otherwise. This meta‐function has the same syntax as the `is_copy_constructible` meta‐function defined in the C++11 standard [meta.unary.prop]; on C++03 platforms, however, this meta‐function defaults to `true_type` for all types that are not explicitly declared to have the `bslmf::IsNonCopyable` trait using the `BSLMF_NESTED_TRAIT_DECLARATION` macro. To mark a type as non‐copyable, `bslmf::IsNonCopyable` must be specialized (for that type) to inherit from `bsl::true_type`. == Synopsis Declared in `<bslmf_iscopyconstructible.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct is_copy_constructible : xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, (bsl::is_array<t_TYPE>::value ? false : std::is_copy_constructible<t_TYPE>::value)>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, (bsl::is_array<t_TYPE>::value ? false : std::is_copy_constructible<t_TYPE>::value)>]` | Metafunction representing a compile‐time constant of the specified (template parameter) `t_TYPE` with the specified (template parameter) `t_VALUE`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/type.adoc[`type`] | Alias for this `integral_constant` specialization. | xref:bsl/integral_constant-02/value_type.adoc[`value_type`] | |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] | Return a copy of the template argument `t_VALUE`. | xref:bsl/integral_constant-02/2conversion.adoc[`operator value_type`] | |=== == Static Data Members [cols="1"] |=== | Name | xref:bsl/integral_constant-02/value.adoc[`value`] |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#