Range proctor that deletes a contiguous sequence of objects on destruction.

Synopsis

Declared in <bslma_autorawdeleter.h>

template<
    class TYPE,
    class ALLOCATOR>
class AutoRawDeleter;

Description

This class implements a range proctor that, unless its release method has previously been invoked, automatically deletes the contiguous sequence of managed objects upon destruction by iterating on each (managed) object, first invoking the object's destructor, and then free memory by invoking the deallocate method of an allocator (or pool) of parameterized ALLOCATOR type supplied to it at construction. The sequence of managed objects of parameterized TYPE must have been created using memory provided by this allocator (or pool), which must remain valid throughout the lifetime of this range proctor. Note that when the length of this object is non‐zero, it must refer to a non‐null array of objects.

Member Functions

Name

Description

AutoRawDeleter [constructor]

Create an auto raw deleter to manage an array of objects.

~AutoRawDeleter [destructor]

Destroy this range proctor and delete its managed objects.

length

Return the (signed) length of the sequence of objects managed by this range proctor.

operator++

Increase by one the (signed) length of the managed sequence.

operator‐‐

Decrease by one the (signed) length of the managed sequence.

release

Release from management the sequence of objects currently managed.

reset

Set the origin of the sequence of objects managed by this proctor.

setLength

Set the (signed) length of the managed object sequence.

Created with MrDocs