BloombergLP::bslma::ManagedPtr::operator=

Assign ownership from the managed pointer referenced by ref.

Synopsis

Declared in <bslma_managedptr.h>

ManagedPtr<TARGET_TYPE>&
operator=(ManagedPtr_Ref<TARGET_TYPE> ref) noexcept;

Description

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 *.

Return Value

reference to this managed pointer

Parameters

NameDescription
refmanaged-pointer reference from which to take ownership