[#bsl-Vector_PushProctor] = xref:bsl.adoc[bsl]::Vector_PushProctor :relfileprefix: ../ :mrdocs: This class template provides a proctor for a newly created object that is managed by an allocator. The object will be constructed through a call to `allocator_traits<ALLOCATOR>::construct`, and it should be destroyed by a call to `allocator_traits<ALLOCATOR>::destroy`. Note that this proctor takes no responsibility for the allocated memory that the supplied value is constructed in. == Synopsis Declared in `<bslstl_vector.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, class ALLOCATOR> class Vector_PushProctor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/Vector_PushProctor/2constructor.adoc[`Vector_PushProctor`] [.small]#[constructor]# | Create a proctor that conditionally manages the specified `target` object (if non‐zero) by destroying the managed object with a call to `allocator_traits<ALLOCATOR>::destroy` using the specified `allocator` upon destruction of this proctor, unless the managed objects has been released. | xref:bsl/Vector_PushProctor/2destructor.adoc[`~Vector_PushProctor`] [.small]#[destructor]# | Destroy this proctor, and destroy the object it manages (if any) by a call to `allocator_traits<ALLOCATOR>::destroy` using the allocator supplied at construction. If no object is currently being managed, this method has no effect. | xref:bsl/Vector_PushProctor/release.adoc[`release`] | Release from management the object currently managed by this proctor. If no object is currently being managed, this method has no effect. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#