[#BloombergLP-bslma-ManagedPtr-0fa-operator_assign-0b] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/ManagedPtr-0fa.adoc[ManagedPtr]::operator= :relfileprefix: ../../../ :mrdocs: If this object and the managed pointer reference by the specified `ref` manage the same object, return a reference to this managed pointer; otherwise, destroy the managed object owned by this managed pointer, transfer ownership of the managed object owned by the managed pointer referenced by `ref`, and set this managed pointer to point to the target object currently referenced the managed pointer referenced by `ref`; then reset the managed pointer referenced by `ref` to empty, and return a reference to this managed pointer. This operator is (implicitly) used to assign from a managed pointer rvalue, or from a managed pointer to a "compatible" type, where "compatible" means a built‐in conversion from `MANAGED_TYPE *` to `TARGET_TYPE *` is defined, e.g., `derived *` to `base *`, `T *` to `const T *`, or `T *` to `void *`. == Synopsis Declared in `<bslma_managedptr.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslma/ManagedPtr-0fa.adoc[ManagedPtr<TARGET_TYPE>]& operator=(xref:BloombergLP/bslma/ManagedPtr_Ref.adoc[ManagedPtr_Ref<TARGET_TYPE>] ref) noexcept; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#