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>

Base Classes

Name

Description

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

Name

Description

type

Alias for this integral_constant specialization.

value_type

Member Functions

Name

Description

operator()

Return a copy of the template argument t_VALUE.

operator value_type

Static Data Members

Name

value

Created with MrDocs