Constructors
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...
| Name | Description |
|---|---|
| original | managed pointer from which to take ownership |
| nullPointerLiteral | null-pointer literal (unused; selects this overload) |
| ref | managed-pointer reference from which to take ownership |
| ptr | pointer to the object to manage, or null |
| cookieNullPointerLiteral | null-pointer literal (unused; selects this overload) |
| factory | unused factory pointer |
| alias | managed pointer supplying ownership of the managed object |
| cookie | cookie passed to deleter when the object is destroyed |
| deleter | function used to destroy the managed object |