BloombergLP::bslalg::AutoArrayDestructor

This class provides a proctor that destroys a guarded range of array elements.

Synopsis

Declared in <bslalg_autoarraydestructor.h>

template<
    class OBJECT_TYPE,
    class ALLOCATOR = bsl::allocator<OBJECT_TYPE>>
class AutoArrayDestructor;

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 an array of parameterized type OBJECT_TYPE. The elements destroyed are delimited by the "guarded" range [ begin(), end() )].

Type Aliases

NameDescription
difference_type Standard signed difference type used by pointer arithmetic.

Member Functions

NameDescription
AutoArrayDestructor [constructor]Create a proctor for the specified range of array elements.
~AutoArrayDestructor [destructor]Call the destructor on each of the elements of the parameterized OBJECT_TYPE delimited by the range [ begin(), end() )] and destroy this array exception guard.
moveBegin Move the begin pointer by the specified offset, and return the new begin pointer.
moveEnd Move the end pointer by the specified offset, and return the new end pointer.
release Set the range of elements guarded by this object to be empty. Note that begin() == end() following this operation, but the specific value is unspecified.