[#BloombergLP-bslma-ManagedPtr_FactoryDeleter]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::ManagedPtr&lowbar;FactoryDeleter
:relfileprefix: ../../
:mrdocs:

This utility provides a general deleter for factories that provide a `deleteObject` operation (e&period;g&period;, `bslma&colon;&colon;Allocator`, `bdlma&colon;&colon;Pool`)&period;

== Synopsis

Declared in `&lt;bslma&lowbar;managedptr&lowbar;factorydeleter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class OBJECT&lowbar;TYPE,
    class FACTORY&gt;
struct ManagedPtr&lowbar;FactoryDeleter;
----

== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslma/ManagedPtr_FactoryDeleter/deleter.adoc[`deleter`] 
| Delete the specified `object` by invoking `deleteObject` on the specified `factory`, casting `object` to `OBJECT&lowbar;TYPE &ast;` and `factory` to `FACTORY &ast;`&period; The behavior is undefined unless `factory` points to an object of type `FACTORY`, and `object` points to a complete object of type `OBJECT&lowbar;TYPE` or `OBJECT&lowbar;TYPE` has a virtual destructor and `object` points to an object whose dynamic type derives from &apos;OBJECT&lowbar;TYPE&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
