Constructors
Synopses
Declared in <bslma_managedptr.h>
Create an empty managed pointer.
ManagedPtr();
Create a managed pointer by taking ownership from original.
ManagedPtr(ManagedPtr& original) noexcept;
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;
Create an empty managed pointer from a null pointer literal.
ManagedPtr(bsl::nullptr_t nullPointerLiteral);
Create a managed pointer by taking ownership from ref.
ManagedPtr(ManagedPtr_Ref<TARGET_TYPE> ref) noexcept;
Create a managed pointer by taking ownership from original.
ManagedPtr(bslmf::MovableRef<ManagedPtr> original) noexcept;
Create a managed pointer owning *ptr, destroyed with delete.
template<class MANAGED_TYPE>
explicit
ManagedPtr(MANAGED_TYPE* ptr);
Create an empty managed pointer from two null‐pointer literals.
explicit
ManagedPtr(
bsl::nullptr_t nullPointerLiteral,
bsl::nullptr_t cookieNullPointerLiteral);
Create an empty managed pointer; factory is ignored.
template<class FACTORY_TYPE>
ManagedPtr(
bsl::nullptr_t nullPointerLiteral,
FACTORY_TYPE* factory);
Create an aliasing managed pointer from alias targeting ptr.
template<class ALIASED_TYPE>
ManagedPtr(
ManagedPtr<ALIASED_TYPE>& alias,
TARGET_TYPE* ptr);
Move‐construct an aliasing managed pointer from alias targeting ptr.
template<class ALIASED_TYPE>
ManagedPtr(
ManagedPtr<ALIASED_TYPE>&& alias,
TARGET_TYPE* ptr);
Create a managed pointer owning *ptr, destroyed via factory.
template<
class MANAGED_TYPE,
class FACTORY_TYPE>
ManagedPtr(
MANAGED_TYPE* ptr,
FACTORY_TYPE* factory);
Create a managed pointer owning *ptr with the specified deleter.
ManagedPtr(
TARGET_TYPE* ptr,
void* cookie,
DeleterFunc deleter);
Create a managed pointer owning *ptr with the specified deleter.
template<class MANAGED_TYPE>
ManagedPtr(
MANAGED_TYPE* ptr,
void* cookie,
DeleterFunc deleter);
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*));
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*));
Parameters
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 |
function used to destroy the managed object |
Created with MrDocs