BloombergLP::bslalg::DequePrimitives_ExternalDequeElementGuard

Proctor that destroys an externally updated deque element range.

Synopsis

Declared in <bslalg_dequeprimitives.h>

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

NameDescription
Iterator Iterator type over elements in the guarded deque segment.

Member Functions

NameDescription
DequePrimitives_ExternalDequeElementGuard [constructor]Create a guard for the specified external deque element range.
~DequePrimitives_ExternalDequeElementGuard [destructor]Destroy the guarded elements and this guard.
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.