[#BloombergLP-bslmf-IsBitwiseEqualityComparable-018] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::IsBitwiseEqualityComparable :relfileprefix: ../../ :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> struct IsBitwiseEqualityComparable : /* implementation-defined */::type ---- == Base Classes [cols="1,4"] |=== | Name| Description | `/* implementation-defined */::type` | |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-019.adoc[`IsBitwiseEqualityComparable<double>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e3.adoc[`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). | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0da.adoc[`IsBitwiseEqualityComparable<long double>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-05.adoc[`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. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0fd.adoc[`IsBitwiseEqualityComparable<bsl::polymorphic_allocator<TYPE>>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e5.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0a9.adoc[`IsBitwiseEqualityComparable<t_TYPE const>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-03.adoc[`IsBitwiseEqualityComparable<t_TYPE const volatile>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0a2.adoc[`IsBitwiseEqualityComparable<t_TYPE[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e7.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0d6.adoc[`IsBitwiseEqualityComparable<t_TYPE const[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-08.adoc[`IsBitwiseEqualityComparable<t_TYPE const volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-009.adoc[`IsBitwiseEqualityComparable<bsl::pair<T1, T2>>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0b.adoc[`IsBitwiseEqualityComparable<t_TYPE[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0f4.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-003.adoc[`IsBitwiseEqualityComparable<t_TYPE const[]>`] | | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-04.adoc[`IsBitwiseEqualityComparable<t_TYPE const volatile[]>`] | |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#