[#BloombergLP-bslalg-ConstructorProxy] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::ConstructorProxy :relfileprefix: ../../ :mrdocs: This class acts as a proxy for constructing and destroying an object of parameterized `OBJECT_TYPE`, where `OBJECT_TYPE` may or may not use a `bslma` allocator for supplying memory. The constructors for this proxy class take a `bslma::Allocator *`. If `OBJECT_TYPE` has the `bslma::UsesBslmaAllocator` trait declared, then the supplied allocator will be used to construct the proxied object. Otherwise, the allocator is ignored. == Synopsis Declared in `<bslalg_constructorproxy.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class OBJECT_TYPE> class ConstructorProxy; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ConstructorProxy/ValueType.adoc[`ValueType`] | Alias for the proxied `OBJECT_TYPE`. | xref:BloombergLP/bslalg/ConstructorProxy/allocator_type.adoc[`allocator_type`] | Minimally picky allocator type that can be used to construct a `ConstructorProxy`. Choose `bsl::polymorphic_allocator` If `OBJECT_TYPE` is not AA, `bsl::allocator<char>` if `OBJECT_TYPE` is _legacy‐AA_, and `OBJECT_TYPE::allocator_type` otherwise. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ConstructorProxy/2constructor-02.adoc[`ConstructorProxy`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslalg/ConstructorProxy/2destructor.adoc[`~ConstructorProxy`] [.small]#[destructor]# | Destroy this proxy and the object held by this proxy. | xref:BloombergLP/bslalg/ConstructorProxy/object-0e.adoc[`object`] | `object` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#