This struct template provides a meta‐function to determine whether the (template parameter) t_TYPE is bitwise copyable.

Synopsis

Declared in <bslmf_isbitwisecopyable.h>

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

Name

Description

bsl::integral_constant<bool, DetectNestedTrait<t_TYPE, IsBitwiseCopyable>::value || bsl::is_trivially_copyable<t_TYPE>::value>::type

Specializations

Name

Description

IsBitwiseCopyable<BloombergLP::bdlt::Date>

This template specialization for IsBitwiseCopyable indicates that Date is a bitwise copyable type.

IsBitwiseCopyable<BloombergLP::bdlt::DateTz>

This template specialization for IsBitwiseCopyable indicates that bdlt::DateTz is a bitwise copyable type.

IsBitwiseCopyable<BloombergLP::bdlt::Datetime>

This template specialization for IsBitwiseCopyable indicates that bdlt::Datetime is a bitwise copyable type.

IsBitwiseCopyable<BloombergLP::bdlt::DatetimeTz>

This template specialization for IsBitwiseCopyable indicates that bdlt::DatetimeTz is a bitwise copyable type.

IsBitwiseCopyable<bdlt::DayOfWeekSet>

IsBitwiseCopyable<bdlt::DayOfWeekSet_Iter>

IsBitwiseCopyable<BloombergLP::bdlt::Time>

This template specialization for IsBitwiseCopyable indicates that bdlt::Time is a bitwise copyable type.

IsBitwiseCopyable<BloombergLP::bdlt::TimeTz>

This template specialization for IsBitwiseCopyable indicates that bdlt::TimeTz is a bitwise copyable type.

IsBitwiseCopyable<BloombergLP::bslh::WyHashIncrementalAlgorithm>

IsBitwiseCopyable<bdlf::MemFn<PROTOTYPE>>

IsBitwiseCopyable<t_TYPE volatile>

IsBitwiseCopyable<t_TYPE const>

IsBitwiseCopyable<t_TYPE const volatile>

IsBitwiseCopyable<t_TYPE&>

This partial specialization optimizes away a number of nested template instantiations to ensure that reference types are never bitwise copyable.

IsBitwiseCopyable<t_TYPE&&>

This partial specialization optimizes away a number of nested template instantiations to ensure that rvalue reference types are never bitwise copyable.

IsBitwiseCopyable<t_TYPE[>]

IsBitwiseCopyable<t_TYPE volatile[>]

IsBitwiseCopyable<t_TYPE const[>]

IsBitwiseCopyable<t_TYPE const volatile[>]

These partial specializations ensures that array‐of‐unknown‐bound types have the same result as their element type.

IsBitwiseCopyable<BloombergLP::bslalg::DequeIterator<VALUE_TYPE, BLOCK_LENGTH>>

IsBitwiseCopyable<bsl::pair<T1, T2>>

IsBitwiseCopyable<t_TYPE[>]

IsBitwiseCopyable<t_TYPE volatile[>]

IsBitwiseCopyable<t_TYPE const[>]

IsBitwiseCopyable<t_TYPE const volatile[>]

Derived Classes