[#BloombergLP-bslma-AutoRawDeleter] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::AutoRawDeleter :relfileprefix: ../../ :mrdocs: Range proctor that deletes a contiguous sequence of objects on destruction. == Synopsis Declared in `<bslma_autorawdeleter.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/AutoRawDeleter/2constructor.adoc[`AutoRawDeleter`] [.small]#[constructor]# | Create an auto raw deleter to manage an array of objects. | xref:BloombergLP/bslma/AutoRawDeleter/2destructor.adoc[`~AutoRawDeleter`] [.small]#[destructor]# | Destroy this range proctor and delete its managed objects. | xref:BloombergLP/bslma/AutoRawDeleter/length.adoc[`length`] | Return the (signed) length of the sequence of objects managed by this range proctor. | xref:BloombergLP/bslma/AutoRawDeleter/operator_inc.adoc[`operator++`] | Increase by one the (signed) length of the managed sequence. | xref:BloombergLP/bslma/AutoRawDeleter/operator_dec.adoc[`operator‐‐`] | Decrease by one the (signed) length of the managed sequence. | xref:BloombergLP/bslma/AutoRawDeleter/release.adoc[`release`] | Release from management the sequence of objects currently managed. | xref:BloombergLP/bslma/AutoRawDeleter/reset.adoc[`reset`] | Set the origin of the sequence of objects managed by this proctor. | xref:BloombergLP/bslma/AutoRawDeleter/setLength.adoc[`setLength`] | Set the (signed) length of the managed object sequence. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#