[#BloombergLP-bslmf-IsBitwiseCopyable-026] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::IsBitwiseCopyable :relfileprefix: ../../ :mrdocs: This `struct` template provides a meta‐function to determine whether the (template parameter) `t_TYPE` is bitwise copyable. == Synopsis Declared in `<bslmf_isbitwisecopyable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct IsBitwiseCopyable : bsl::integral_constant<bool, DetectNestedTrait<t_TYPE, IsBitwiseCopyable>::value || bsl::is_trivially_copyable<t_TYPE>::value>::type ---- == Base Classes [cols="1,4"] |=== | Name| Description | `bsl::integral_constant<bool, DetectNestedTrait<t_TYPE, IsBitwiseCopyable>::value || bsl::is_trivially_copyable<t_TYPE>::value>::type` | |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/IsBitwiseCopyable-027.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::Date>`] | This template specialization for `IsBitwiseCopyable` indicates that `Date` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-0e8.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::DateTz>`] | This template specialization for `IsBitwiseCopyable` indicates that `bdlt::DateTz` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-087.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::Datetime>`] | This template specialization for `IsBitwiseCopyable` indicates that `bdlt::Datetime` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-09a.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::DatetimeTz>`] | This template specialization for `IsBitwiseCopyable` indicates that `bdlt::DatetimeTz` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-072.adoc[`IsBitwiseCopyable<bdlt::DayOfWeekSet>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-09f.adoc[`IsBitwiseCopyable<bdlt::DayOfWeekSet_Iter>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0a.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::Time>`] | This template specialization for `IsBitwiseCopyable` indicates that `bdlt::Time` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-005.adoc[`IsBitwiseCopyable<BloombergLP::bdlt::TimeTz>`] | This template specialization for `IsBitwiseCopyable` indicates that `bdlt::TimeTz` is a bitwise copyable type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-082.adoc[`IsBitwiseCopyable<BloombergLP::bslh::WyHashIncrementalAlgorithm>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-00a.adoc[`IsBitwiseCopyable<bdlf::MemFn<PROTOTYPE>>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0c.adoc[`IsBitwiseCopyable<t_TYPE volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-03c.adoc[`IsBitwiseCopyable<t_TYPE const>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-09e.adoc[`IsBitwiseCopyable<t_TYPE const volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0eaf.adoc[`IsBitwiseCopyable<t_TYPE&>`] | This partial specialization optimizes away a number of nested template instantiations to ensure that reference types are never bitwise copyable. | xref:BloombergLP/bslmf/IsBitwiseCopyable-092.adoc[`IsBitwiseCopyable<t_TYPE&&>`] | This partial specialization optimizes away a number of nested template instantiations to ensure that rvalue reference types are never bitwise copyable. | xref:BloombergLP/bslmf/IsBitwiseCopyable-0ea3.adoc[`IsBitwiseCopyable<t_TYPE[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-03f.adoc[`IsBitwiseCopyable<t_TYPE volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-07c.adoc[`IsBitwiseCopyable<t_TYPE const[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-02f.adoc[`IsBitwiseCopyable<t_TYPE const volatile[]>`] | These partial specializations ensures that array‐of‐unknown‐bound types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseCopyable-0d.adoc[`IsBitwiseCopyable<BloombergLP::bslalg::DequeIterator<VALUE_TYPE, BLOCK_LENGTH>>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-08a.adoc[`IsBitwiseCopyable<bsl::pair<T1, T2>>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-05.adoc[`IsBitwiseCopyable<t_TYPE[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-08b.adoc[`IsBitwiseCopyable<t_TYPE volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-06.adoc[`IsBitwiseCopyable<t_TYPE const[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0e5.adoc[`IsBitwiseCopyable<t_TYPE const volatile[]>`] | |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/IsBitwiseCopyable-03c.adoc[`IsBitwiseCopyable<t_TYPE const>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-05.adoc[`IsBitwiseCopyable<t_TYPE[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-06.adoc[`IsBitwiseCopyable<t_TYPE const[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-08b.adoc[`IsBitwiseCopyable<t_TYPE volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-09e.adoc[`IsBitwiseCopyable<t_TYPE const volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0c.adoc[`IsBitwiseCopyable<t_TYPE volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseCopyable-0e5.adoc[`IsBitwiseCopyable<t_TYPE const volatile[]>`] | |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#