[#BloombergLP-bslmf-IsBitwiseEqualityComparable-018] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::IsBitwiseEqualityComparable :relfileprefix: ../../ :mrdocs: This `struct` template implements a meta‐function to determine whether the (template parameter) `t_TYPE` is bitwise EqualityComparable. == Synopsis Declared in `<bslmf_isbitwiseequalitycomparable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 [cols="1,4"] |=== | Name| Description | `/* implementation-defined */::type` | |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-019.adoc[`IsBitwiseEqualityComparable<double>`] | This explicit specialization reports that `double` is treated as bitwise EqualityComparable. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e3.adoc[`IsBitwiseEqualityComparable<float>`] | This explicit specialization reports that `float` is treated as bitwise EqualityComparable. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0da.adoc[`IsBitwiseEqualityComparable<long double>`] | This explicit specialization reports that `long double` is treated as bitwise EqualityComparable. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-05.adoc[`IsBitwiseEqualityComparable<void>`] | This explicit specialization reports that `void` is never bitwise EqualityComparable. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0fd.adoc[`IsBitwiseEqualityComparable<bsl::polymorphic_allocator<TYPE>>`] | Specialize `IsBitwiseEqualityComparable` as `true_type` for `polymorphic_allocator`. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e5.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile>`] | This partial specialization ensures that volatile‐qualified types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0a9.adoc[`IsBitwiseEqualityComparable<t_TYPE const>`] | This partial specialization ensures that const‐qualified types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-03.adoc[`IsBitwiseEqualityComparable<t_TYPE const volatile>`] | This partial specialization ensures that const‐volatile‐qualified types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0a2.adoc[`IsBitwiseEqualityComparable<t_TYPE[]>`] | This partial specialization ensures that array‐of‐unknown‐bound types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0e7.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile[]>`] | This partial specialization ensures that volatile‐qualified array‐of‐unknown‐bound types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0d6.adoc[`IsBitwiseEqualityComparable<t_TYPE const[]>`] | This partial specialization ensures that const‐qualified array‐of‐unknown‐bound types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-08.adoc[`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. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-009.adoc[`IsBitwiseEqualityComparable<bsl::pair<T1, T2>>`] | Trait indicating `pair` is bitwise equality‐comparable when both elements are and the pair has no padding. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0b.adoc[`IsBitwiseEqualityComparable<t_TYPE[]>`] | This partial specialization ensures that array types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-0f4.adoc[`IsBitwiseEqualityComparable<t_TYPE volatile[]>`] | This partial specialization ensures that volatile‐qualified array types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-003.adoc[`IsBitwiseEqualityComparable<t_TYPE const[]>`] | This partial specialization ensures that const‐qualified array types have the same result as their element type. | xref:BloombergLP/bslmf/IsBitwiseEqualityComparable-04.adoc[`IsBitwiseEqualityComparable<t_TYPE const volatile[]>`] | This partial specialization ensures that const‐volatile‐qualified array types have the same result as their element type. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#