[#BloombergLP-bslalg-TypeTraitBitwiseEqualityComparable]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::TypeTraitBitwiseEqualityComparable
:relfileprefix: ../../
:mrdocs:

Objects of a type with this trait can be compared for equality using `memcmp`&period; If two objects compare equal, then `memcmp` returns 0, otherwise it returns non&hyphen;zero&period; Classes with this traits are assumed to have no padding and to be bit&hyphen;wise copyable (see the `TypeTraitBitwiseCopyable` trait)&period; Undefined behavior may result if this trait is assigned to a type that does not have an `operator&equals;&equals;` or whose `operator&equals;&equals;` implementation may return different from comparing the footprints with `memcmp` &period;

== Synopsis

Declared in `&lt;bslalg&lowbar;typetraitbitwiseequalitycomparable&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct TypeTraitBitwiseEqualityComparable;
----

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslalg/TypeTraitBitwiseEqualityComparable/Metafunction.adoc[`Metafunction`] 
| Metafunction evaluating to `true&lowbar;type` if `TYPE` is bitwise equality comparable&semi; otherwise, `false&lowbar;type`&period;
| xref:BloombergLP/bslalg/TypeTraitBitwiseEqualityComparable/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] 
| This class template ties the `bslalg&colon;&colon;TypeTraitBitwiseEqualityComparable` trait tag to the `bslmf&colon;&colon;IsBitwiseEqualityComparable` trait metafunction&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
