[#BloombergLP-bslalg-ConstructorProxy-2constructor-018]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ConstructorProxy.adoc[ConstructorProxy]::ConstructorProxy
:relfileprefix: ../../../
:mrdocs:

Construct a proxy that forwards constructor arguments to the proxied object&period;

== Synopsis

Declared in `&lt;bslalg&lowbar;constructorproxy&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class ARG01,
    class ARG02&gt;
ConstructorProxy(
    ARG01&& a01,
    ARG02&& a02,
    xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator);
----

== Description

Construct a proxy, forwarding the specified `a01` up to the specified `a14` arguments and possibly a specified `allocator` to the constructor of the proxied object&period; If `OBJECT&lowbar;TYPE` is allocator aware and `allocator&lowbar;type` is a compatible allocator type, pass `allocator` to the proxied object&apos;s constructor&semi; otherwise ignore `allocator`&period; A compilation error will result unless `OBJECT&lowbar;TYPE` has a constructor with a signature compatible with `OBJECT&lowbar;TYPE(ARG01&amp;&amp;, ARG2&amp;&amp;, &period;&period;&period;)`&period; Note that, in C&plus;&plus;03, non&hyphen;const lvalue arguments will be forwarded as `const` lvalue references&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *a01*
| first argument forwarded to the proxied object constructor
| *a02*
| second argument forwarded to the proxied object constructor
| *allocator*
| allocator passed to the proxied object if it is allocator&hyphen;aware&semi; ignored otherwise
|===


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