[#BloombergLP-bslma-ManagedPtr_Members] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::ManagedPtr_Members :relfileprefix: ../../ :mrdocs: Type‐agnostic container for the internal state of a managed pointer. == Synopsis Declared in `<bslma_managedptr_members.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class ManagedPtr_Members; ---- == Description This class provides a type‐agnostic container for managed pointer data members. This type exists so that a `ManagedPtr_Ref` (see `bslma_managedptr`) can point to the representation of a `ManagedPtr` even if the `ManagedPtr_Ref` object is instantiated on a different type than the managed pointer type (e.g., in the case of conversions or aliasing). `ManagedPtr_Members` also "erases" the type of each member, so that the same object code can be shared between all instantiations of the `ManagedPtr` class template, reducing template bloat. Note that objects of this type have an "unset" state, where the pointer member has a null value and the deleter member has an unspecified value. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/ManagedPtr_Members/2constructor-00.adoc[`ManagedPtr_Members`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslma/ManagedPtr_Members/clear.adoc[`clear`] | Reset this object to an unset state with no effect on the previously managed object (if any). | xref:BloombergLP/bslma/ManagedPtr_Members/deleter.adoc[`deleter`] | Return a reference to the deleter for the currently managed object. | xref:BloombergLP/bslma/ManagedPtr_Members/move.adoc[`move`] | Take ownership of the managed state from `other`. | xref:BloombergLP/bslma/ManagedPtr_Members/moveAssign.adoc[`moveAssign`] | Destroy the managed object and take ownership from `other`. | xref:BloombergLP/bslma/ManagedPtr_Members/pointer.adoc[`pointer`] | Return the address of the currently managed object, or 0 if unset. | xref:BloombergLP/bslma/ManagedPtr_Members/runDeleter.adoc[`runDeleter`] | Destroy the currently managed object (if any). | xref:BloombergLP/bslma/ManagedPtr_Members/set.adoc[`set`] | Reset this object to manage the specified object and deleter. | xref:BloombergLP/bslma/ManagedPtr_Members/setAliasPtr.adoc[`setAliasPtr`] | Set the exposed pointer to the specified `alias`. | xref:BloombergLP/bslma/ManagedPtr_Members/swap.adoc[`swap`] | Efficiently exchange the state of this object with that of `other`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#