[#BloombergLP-bslalg-DequePrimitives_ExternalDequeElementGuard] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::DequePrimitives_ExternalDequeElementGuard :relfileprefix: ../../ :mrdocs: Proctor that destroys an externally updated deque element range. == 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; ---- == Description 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`. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/Iterator.adoc[`Iterator`] | Iterator type over elements in the guarded deque segment. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/2constructor.adoc[`DequePrimitives_ExternalDequeElementGuard`] [.small]#[constructor]# | Create a guard for the specified external deque element range. | xref:BloombergLP/bslalg/DequePrimitives_ExternalDequeElementGuard/2destructor.adoc[`~DequePrimitives_ExternalDequeElementGuard`] [.small]#[destructor]# | Destroy the guarded elements and this 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]#