BloombergLP::bslmf::IsBitwiseEqualityComparable

This struct template implements a meta-function to determine whether the (template parameter) t_TYPE is bitwise EqualityComparable.

Synopsis

Declared in <bslmf_isbitwiseequalitycomparable.h>

template<class t_TYPE>
struct IsBitwiseEqualityComparable
    : /* implementation-defined */::type

Description

If IsBitwiseEqualityComparable<t_TYPE> is derived from true_type then t_TYPE is bitwise EqualityComparable. Otherwise, bitwise equality comparability cannot be inferred for t_TYPE. This trait can be associated with a bitwise EqualityComparable user-defined class by specializing this class or by using the BSLMF_NESTED_TRAIT_DECLARATION macro.

Base Classes

NameDescription
/* implementation-defined */::type

Specializations

NameDescription
IsBitwiseEqualityComparable<double> This explicit specialization reports that double is treated as bitwise EqualityComparable.
IsBitwiseEqualityComparable<float> This explicit specialization reports that float is treated as bitwise EqualityComparable.
IsBitwiseEqualityComparable<long double> This explicit specialization reports that long double is treated as bitwise EqualityComparable.
IsBitwiseEqualityComparable<void> This explicit specialization reports that void is never bitwise EqualityComparable.
IsBitwiseEqualityComparable<bsl::polymorphic_allocator<TYPE>> Specialize IsBitwiseEqualityComparable as true_type for polymorphic_allocator.
IsBitwiseEqualityComparable<t_TYPE volatile> This partial specialization ensures that volatile-qualified types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE const> This partial specialization ensures that const-qualified types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE const volatile> This partial specialization ensures that const-volatile-qualified types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE[]> This partial specialization ensures that array-of-unknown-bound types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array-of-unknown-bound types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE const[]> This partial specialization ensures that const-qualified array-of-unknown-bound types have the same result as their element type.
IsBitwiseEqualityComparable<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.
IsBitwiseEqualityComparable<bsl::pair<T1, T2>> Trait indicating pair is bitwise equality-comparable when both elements are and the pair has no padding.
IsBitwiseEqualityComparable<t_TYPE[]> This partial specialization ensures that array types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE volatile[]> This partial specialization ensures that volatile-qualified array types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE const[]> This partial specialization ensures that const-qualified array types have the same result as their element type.
IsBitwiseEqualityComparable<t_TYPE const volatile[]> This partial specialization ensures that const-volatile-qualified array types have the same result as their element type.