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>

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

Name

Description

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.

Created with MrDocs