[#BloombergLP-bslalg-ConstructorProxy-2constructor-0bf] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ConstructorProxy.adoc[ConstructorProxy]::ConstructorProxy :relfileprefix: ../../../ :mrdocs: Construct a proxy, passing a single argument and possibly a specified `allocator` to the constructor of the proxied object, where the non‐allocator argument is the specified `a01` argument if `ARG01` is not a specialization of `ConstructorProxy`, and `a01.object()` if it is such a specialization. If `OBJECT_TYPE` is allocator aware and `allocator_type` is a compatible allocator type, pass `allocator` to the proxied object's constructor; otherwise ignore `allocator`. A compilation error will result unless `OBJECT_TYPE` has a constructor with a signature compatible with `OBJECT_TYPE(ARG01&&)`. Note that, if `ARG01` is `ConstructorProxy<OBJECT_TYPE>`, then these constructors take on the rolls of the extended copy and extended move constructors. == Synopsis Declared in `<bslalg_constructorproxy.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ARG01> ConstructorProxy( ARG01& a01, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#