Create a managed pointer owning *ptr with the specified deleter.
Declared in <bslma_managedptr.h>
template<class MANAGED_TYPE>
ManagedPtr(
MANAGED_TYPE* ptr,
void* cookie,
DeleterFunc deleter);
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.
| 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 |