BloombergLP::bslmf::IsBitwiseCopyable

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

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

Specializations

NameDescription
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[]>