[#BloombergLP-bslma-AllocatorTraits_IsAlwaysEqual-0e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::AllocatorTraits&lowbar;IsAlwaysEqual
:relfileprefix: ../../
:mrdocs:

Use the allocator&apos;s nested `is&lowbar;always&lowbar;equal` when defined&period;

== Synopsis

Declared in `&lt;bslma&lowbar;allocatortraits&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class ALLOC,
    bool = AllocatorTraits&lowbar;HasIsAlwaysEqual&lt;ALLOC&gt;&colon;&colon;value&gt;
struct AllocatorTraits&lowbar;IsAlwaysEqual
    : ALLOC::is&lowbar;always&lowbar;equal
----

== Description

This `struct` template sets the boolean type for the attribute named `is&lowbar;always&lowbar;equal` to the nested type alias in the given (template parameter) `ALLOC` if `ALLOC` defines such an alias (i&period;e&period;, if `true &equals;&equals; AllocatorTraits&lowbar;HasIsAlwaysEqual&lt;ALLOCATOR&lowbar;TYPE&gt;&colon;&colon;value`)&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `ALLOC::is&lowbar;always&lowbar;equal`
| 
|===

== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslma/AllocatorTraits_IsAlwaysEqual-0a.adoc[`AllocatorTraits&lowbar;IsAlwaysEqual&lt;ALLOC, false&gt;`] 
| Sets `is&lowbar;always&lowbar;equal` to `bsl&colon;&colon;is&lowbar;empty&lt;ALLOC&gt;` when not defined by `ALLOC`&period;
|===



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