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

Synopsis

Declared in <bslma_managedptr.h>

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

Description

Create a managed pointer having a target object referenced by the specified ptr, owning the managed object *ptr, and having a deleter that will invoke the specified deleter with the address of the currently managed object, and with the specified cookie (that the deleter can use for its own purposes), unless 0 == ptr, in which case create an empty managed pointer. This constructor will not compile unless MANAGED_TYPE * is convertible to TARGET_TYPE *. The deleter will invoke the destructor of MANAGED_TYPE rather than the destructor of TARGET_TYPE. The behavior is undefined if ptr is already managed by another object, or if 0 == deleter && 0 != ptr.

Parameters

Name

Description

ptr

pointer to the object to manage, or null

cookie

cookie passed to deleter when the object is destroyed

deleter

function used to destroy the managed object

Created with MrDocs