[#BloombergLP-bslma-DeallocateObjectProctor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::DeallocateObjectProctor :relfileprefix: ../../ :mrdocs: This class implements a proctor that, unless its `release` method has previously been invoked, automatically deallocates a managed object upon destruction by invoking the `deallocate` method of an allocator (or pool) of parameterized `ALLOCATOR` type supplied to it at construction. The managed object of parameterized `TYPE` must be memory that was provided by this allocator (or pool); the allocator (or pool) must remain valid throughout the lifetime of the proctor object. If `ALLOCATOR` is a non‐pointer type, it is assumed to be STL compatible; otherwise, it is assumed have a `deallocate` method with a single 'void *' parameter, i.e., the same deallocation interface as `bslma::Allocator`. == Synopsis Declared in `<bslma_deallocateobjectproctor.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ALLOCATOR, class TYPE = ALLOCATOR::value_type> class DeallocateObjectProctor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/DeallocateObjectProctor/2constructor-0d.adoc[`DeallocateObjectProctor`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslma/DeallocateObjectProctor/2destructor.adoc[`~DeallocateObjectProctor`] [.small]#[destructor]# | Deallocate the managed objects, if any. Note that the managed objects' destructors are not invoked. | xref:BloombergLP/bslma/DeallocateObjectProctor/ptr.adoc[`ptr`] | Return the address of the currently managed objects, if engaged; otherwise return a null pointer. | xref:BloombergLP/bslma/DeallocateObjectProctor/release.adoc[`release`] | Disengage this allocator and return a pointer to the formerly managed object(s). | xref:BloombergLP/bslma/DeallocateObjectProctor/reset.adoc[`reset`] | Release the managed object and reset this proctor to manage the specified `p` pointer to optionally specified `n` objects. If `p` is null, then the proctor will be disenaged. Note that the previously managed objects are not deallocated. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#