BloombergLP::bslmf::IsBitwiseEqualityComparable

This trait struct is a metafunction that determines whether the specified parameter t_TYPE is bitwise EqualityComparable. 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.

Synopsis

Declared in <bslmf_isbitwiseequalitycomparable.h>

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

Base Classes

NameDescription
/* implementation-defined */::type

Specializations

NameDescription
IsBitwiseEqualityComparable<double>
IsBitwiseEqualityComparable<float> Revert of {DRQS 143286899}. Once clients are fixed, change to false. Explicit specialization to confirm that floating point types are not bitwise EqualityComparable, as they typically have specific problematic values: NaNs do not compare equal with themselves, and there may be multiple representations for zero (with negative zero).
IsBitwiseEqualityComparable<long double>
IsBitwiseEqualityComparable<void> Explicit specialization to confirm that void types are never bitwise EqualityComparable. Note that cv-void types are covered by the partial specialization for any cv-qualified type.
IsBitwiseEqualityComparable<bsl::polymorphic_allocator<TYPE>>
IsBitwiseEqualityComparable<t_TYPE volatile>
IsBitwiseEqualityComparable<t_TYPE const>
IsBitwiseEqualityComparable<t_TYPE const volatile>
IsBitwiseEqualityComparable<t_TYPE[]>
IsBitwiseEqualityComparable<t_TYPE volatile[]>
IsBitwiseEqualityComparable<t_TYPE const[]>
IsBitwiseEqualityComparable<t_TYPE const volatile[]>
IsBitwiseEqualityComparable<bsl::pair<T1, T2>>
IsBitwiseEqualityComparable<t_TYPE[]>
IsBitwiseEqualityComparable<t_TYPE volatile[]>
IsBitwiseEqualityComparable<t_TYPE const[]>
IsBitwiseEqualityComparable<t_TYPE const volatile[]>