[#BloombergLP-bslalg-DequePrimitives_ExternalDequeElementGuard-2constructor]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard.adoc[DequePrimitives&lowbar;ExternalDequeElementGuard]::DequePrimitives&lowbar;ExternalDequeElementGuard
:relfileprefix: ../../../
:mrdocs:

Create a guard for the specified external deque element range&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
DequePrimitives&lowbar;ExternalDequeElementGuard(
    xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/Iterator.adoc[Iterator]* begin,
    xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/Iterator.adoc[Iterator]* end,
    ALLOCATOR allocator);
----

== Description

Create a deque exception guard object for the sequence of elements of the parameterized `VALUE&lowbar;TYPE` delimited by the specified range `&lsqb;&ast;begin &period;&period; &ast;end)&rsqb;`&period; The behavior is undefined unless `&ast;begin` &lt;&equals; `&ast;end` and unless each element in the range `&lsqb;&ast;begin &period;&period; &ast;end)&rsqb;` has been initialized&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *begin*
| pointer to the beginning iterator of the guarded range
| *end*
| pointer to the end iterator of the guarded range
| *allocator*
| allocator used to destroy guarded elements
|===


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