[#BloombergLP-bslma-ManagedPtrUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::ManagedPtrUtil :relfileprefix: ../../ :mrdocs: This utility class provides a general no‐op deleter, which is useful when creating managed pointers to stack‐allocated objects. == Synopsis Declared in `<bslma_managedptr.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct ManagedPtrUtil; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslma/ManagedPtrUtil/allocateManaged-0e.adoc[`allocateManaged`] | `allocateManaged` overloads | xref:BloombergLP/bslma/ManagedPtrUtil/allocatorDeleter.adoc[`allocatorDeleter`] | Make use of `AllocatorUtil::deleteObject` to destroy and deallocate the specified `object` using the specified allocator. The behavior is undefined unless `allocator` is an instance of `bslma::Allocator` that was used to supply memory for `object` and `object` points to an instance of `ELEMENT_TYPE` that is within its lifetime. | xref:BloombergLP/bslma/ManagedPtrUtil/makeManaged.adoc[`makeManaged`] | Create an object of the (template parameter) `ELEMENT_TYPE` from the specified `args...` arguments, and return a `ManagedPtr` to manage the new object. Use the currently installed default allocator to supply memory for the footprint of the new object but do _not_ implicitly pass the default allocator as the allocator argument to its constructor even if `bslma::UsesBslmaAllocator<ELEMENT_TYPE>::value` is `true`. Note that an allocator may be included in `args`, but see `allocateManaged` for an alternative function that is better suited to creating managed pointers to objects of allocator‐aware type. | xref:BloombergLP/bslma/ManagedPtrUtil/noOpDeleter.adoc[`noOpDeleter`] | Deleter function that does nothing. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#