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

Name

Description

/* implementation-defined */::type

Specializations

Name

Description

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

Created with MrDocs