8#ifndef INCLUDED_BSLMF_ISCOPYCONSTRUCTIBLE
9#define INCLUDED_BSLMF_ISCOPYCONSTRUCTIBLE
89#include <bslscm_version.h>
102#if defined(BSLS_COMPILERFEATURES_SUPPORT_TRAITS_HEADER)
103# include <type_traits>
106#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
110#if defined(BSLS_COMPILERFEATURES_SUPPORT_TRAITS_HEADER)
111# define BSLS_ISCOPYCONSTRUCTIBLE_USE_NATIVE_TRAIT 1
131template <
class t_TYPE>
132struct is_copy_constructible;
140#if defined(BSLS_ISCOPYCONSTRUCTIBLE_USE_NATIVE_TRAIT)
169template <
class t_TYPE>
170struct is_copy_constructible
172 (bsl::is_array<t_TYPE>::value
174 : std::is_copy_constructible<t_TYPE>::value)> {
177#ifdef BSLS_COMPILERFEATURES_SUPPORT_VARIABLE_TEMPLATES
180template <
class t_TYPE>
182 is_copy_constructible<t_TYPE>::value;
199template <
class t_TYPE>
202 bslmf::IsBitwiseCopyable<t_TYPE>::value ||
203 bsl::is_reference<t_TYPE>::value ||
204 !(bsl::is_volatile<t_TYPE>::value ||
205 bsl::is_function<t_TYPE>::value)> {
224template <
class t_TYPE>
240template <
class t_TYPE>
242: BloombergLP::bslmf::IsCopyConstructible_Imp<t_TYPE>::type {
247template <
class t_TYPE>
254template <
class t_TYPE,
size_t t_LEN>
260template <
class t_TYPE,
size_t t_LEN>
266template <
class t_TYPE,
size_t t_LEN>
272template <
class t_TYPE,
size_t t_LEN>
276#if !defined(BSLS_PLATFORM_CMP_IBM)
282template <
class t_TYPE>
288template <
class t_TYPE>
294template <
class t_TYPE>
300template <
class t_TYPE>
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLS_KEYWORD_INLINE_VARIABLE
Definition bsls_keyword.h:623
Definition bdlb_printmethods.h:283
Definition bdlbb_blob.h:576
Definition bslmf_integralconstant.h:244
Definition bslmf_iscopyconstructible.h:242
Definition bslmf_iscopyconstructible.h:205