BloombergLP::bslma::ManagedPtr::ManagedPtr

Constructors

Synopses

Declared in <bslma_managedptr.h>

Create an empty managed pointer.

ManagedPtr();
» more...

Create a managed pointer by taking ownership from original.

ManagedPtr(ManagedPtr& original) noexcept;
» more...

Create a managed pointer by taking ownership from compatible original.

template<class BDE_OTHER_TYPE>
ManagedPtr(ManagedPtr<BDE_OTHER_TYPE>&& original) noexcept
requires bsl::is_convertible<BDE_OTHER_TYPE *, TARGET_TYPE *>::value;
» more...

Create an empty managed pointer from a null pointer literal.

ManagedPtr(bsl::nullptr_t nullPointerLiteral);
» more...

Create a managed pointer by taking ownership from ref.

ManagedPtr(ManagedPtr_Ref<TARGET_TYPE> ref) noexcept;
» more...

Create a managed pointer by taking ownership from original.

ManagedPtr(bslmf::MovableRef<ManagedPtr> original) noexcept;
» more...

Create a managed pointer owning *ptr, destroyed with delete.

template<class MANAGED_TYPE>
explicit
ManagedPtr(MANAGED_TYPE* ptr);
» more...

Create an empty managed pointer from two null-pointer literals.

explicit
ManagedPtr(
    bsl::nullptr_t nullPointerLiteral,
    bsl::nullptr_t cookieNullPointerLiteral);
» more...

Create an empty managed pointer; factory is ignored.

template<class FACTORY_TYPE>
ManagedPtr(
    bsl::nullptr_t nullPointerLiteral,
    FACTORY_TYPE* factory);
» more...

Create an aliasing managed pointer from alias targeting ptr.

template<class ALIASED_TYPE>
ManagedPtr(
    ManagedPtr<ALIASED_TYPE>& alias,
    TARGET_TYPE* ptr);
» more...

Move-construct an aliasing managed pointer from alias targeting ptr.

template<class ALIASED_TYPE>
ManagedPtr(
    ManagedPtr<ALIASED_TYPE>&& alias,
    TARGET_TYPE* ptr);
» more...

Create a managed pointer owning *ptr, destroyed via factory.

template<
    class MANAGED_TYPE,
    class FACTORY_TYPE>
ManagedPtr(
    MANAGED_TYPE* ptr,
    FACTORY_TYPE* factory);
» more...

Create a managed pointer owning *ptr with the specified deleter.

ManagedPtr(
    TARGET_TYPE* ptr,
    void* cookie,
    DeleterFunc deleter);
» more...

Create a managed pointer owning *ptr with the specified deleter.

template<class MANAGED_TYPE>
ManagedPtr(
    MANAGED_TYPE* ptr,
    void* cookie,
    DeleterFunc deleter);
» more...

Create a managed pointer owning *ptr with the specified deleter.

template<
    class MANAGED_TYPE,
    class MANAGED_BASE>
ManagedPtr(
    MANAGED_TYPE* ptr,
    void* cookie,
    void(* deleter)(MANAGED_BASE*, void*));
» more...

Create a managed pointer owning *ptr with the specified deleter.

template<
    class MANAGED_TYPE,
    class MANAGED_BASE,
    class COOKIE_TYPE,
    class COOKIE_BASE>
ManagedPtr(
    MANAGED_TYPE* ptr,
    COOKIE_TYPE* cookie,
    void(* deleter)(MANAGED_BASE*, COOKIE_BASE*));
» more...

Parameters

NameDescription
originalmanaged pointer from which to take ownership
nullPointerLiteralnull-pointer literal (unused; selects this overload)
refmanaged-pointer reference from which to take ownership
ptrpointer to the object to manage, or null
cookieNullPointerLiteralnull-pointer literal (unused; selects this overload)
factoryunused factory pointer
aliasmanaged pointer supplying ownership of the managed object
cookiecookie passed to deleter when the object is destroyed
deleterfunction used to destroy the managed object