[#BloombergLP-bslalg-DequePrimitives_ExternalDequeElementGuard] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::DequePrimitives_ExternalDequeElementGuard :relfileprefix: ../../ :mrdocs: This `class` provides a specialized proctor object that, upon destruction and unless the `release` method has been called, destroys the elements in a segment of a `bsl::deque` of parameterized type `VALUE_TYPE`. The elements destroyed are delimited by the "guarded" range `[*d_begin .. *d_end)]`. Note that the range guarded by this `class` is dynamic and can be changed outside of this `class`. == Synopsis Declared in `<bslalg_dequeprimitives.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, int BLOCK_LENGTH, class ALLOCATOR> class DequePrimitives_ExternalDequeElementGuard; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/Iterator.adoc[`Iterator`] | This `typedef` is an alias for `Iterator`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/2constructor.adoc[`DequePrimitives_ExternalDequeElementGuard`] [.small]#[constructor]# | Create a deque exception guard object for the sequence of elements of the parameterized `VALUE_TYPE` delimited by the specified range `[*begin .. *end)]`. The behavior is undefined unless `*begin` <= `*end` and unless each element in the range `[*begin .. *end)]` has been initialized. | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/2destructor.adoc[`~DequePrimitives_ExternalDequeElementGuard`] [.small]#[destructor]# | Call the destructor on each of the elements of the parameterized `VALUE_TYPE` delimited by the range `[*d_begin_p .. *d_end_p)]` and destroy this array exception guard. | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/release.adoc[`release`] | Set the range of elements guarded by this object to be empty. Note that `d_begin_p == d_end_p == 0` following this operation. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#