[#BloombergLP-bslstl-SharedPtr_RepProctor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::SharedPtr_RepProctor :relfileprefix: ../../ :mrdocs: This `class` implements a proctor that, unless its `release` method has previously been invoked, automatically releases a reference held by the `bslma::SharedPtrRep` object that is supplied at construction. == Synopsis Declared in `<bslstl_sharedptr.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class SharedPtr_RepProctor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/SharedPtr_RepProctor/2constructor.adoc[`SharedPtr_RepProctor`] [.small]#[constructor]# | Create a `SharedPtr_RepProctor` that conditionally manages the specified `rep` (if non‐zero). | xref:BloombergLP/bslstl/SharedPtr_RepProctor/2destructor.adoc[`~SharedPtr_RepProctor`] [.small]#[destructor]# | Destroy this `SharedPtr_RepProctor`, and dispose of (deallocate) the `bslma::SharedPtrRep` it manages (if any). If no such object is currently being managed, this method has no effect. Note that the destructor of the `bslma::SharedPtrRep` will not be called as the reference count will not be decremented. | xref:BloombergLP/bslstl/SharedPtr_RepProctor/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]#