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> This template specialization for IsBitwiseCopyable indicates that bdlt::DayOfWeekSet is a bitwise copyable type.
IsBitwiseCopyable<bdlt::DayOfWeekSet_Iter> This template specialization for IsBitwiseCopyable indicates that bdlt::DayOfWeekSet_Iter is a bitwise copyable type.
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> Specialize IsBitwiseCopyable to indicate that WyHashIncrementalAlgorithm is bitwise copyable.
IsBitwiseCopyable<bdlf::MemFn<PROTOTYPE>> Trait indicating MemFn is always bitwise-copyable.
IsBitwiseCopyable<t_TYPE volatile> This partial specialization ensures that volatile-qualified types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const> This partial specialization ensures that const-qualified types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const volatile> This partial specialization ensures that const-volatile-qualified types have the same result as their element type.
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[]> This partial specialization ensures that array-of-unknown-bound types have the same result as their element type.
IsBitwiseCopyable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array-of-unknown-bound types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const[]> This partial specialization ensures that const-qualified array-of-unknown-bound types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const volatile[]> This partial specialization ensures that const-volatile-qualified array-of-unknown-bound types have the same result as their element type.
IsBitwiseCopyable<BloombergLP::bslalg::DequeIterator<VALUE_TYPE, BLOCK_LENGTH>> This specialization indicates that DequeIterator is bitwise copyable.
IsBitwiseCopyable<bsl::pair<T1, T2>> Trait indicating pair is bitwise-copyable when both elements are.
IsBitwiseCopyable<t_TYPE[]> This partial specialization ensures that array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const[]> This partial specialization ensures that const-qualified array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const volatile[]> This partial specialization ensures that const-volatile-qualified array types have the same result as their element type.

Derived Classes

NameDescription
IsBitwiseCopyable<t_TYPE const> This partial specialization ensures that const-qualified types have the same result as their element type.
IsBitwiseCopyable<t_TYPE[]> This partial specialization ensures that array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const[]> This partial specialization ensures that const-qualified array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const volatile> This partial specialization ensures that const-volatile-qualified types have the same result as their element type.
IsBitwiseCopyable<t_TYPE volatile> This partial specialization ensures that volatile-qualified types have the same result as their element type.
IsBitwiseCopyable<t_TYPE const volatile[]> This partial specialization ensures that const-volatile-qualified array types have the same result as their element type.