[#BloombergLP-bslalg-ConstructorProxy-2constructor-02] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/ConstructorProxy.adoc[ConstructorProxy]::ConstructorProxy :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<bslalg_constructorproxy.h>` Construct a proxy, passing no arguments except possibly a specified `allocator` to the constructor of the proxied object. If `OBJECT_TYPE` is allocator aware and `allocator_type` is a compatible allocator type, pass `allocator` to the proxied object constructor; otherwise ignore `allocator`. A compilation error will result unless `OBJECT_TYPE` has an (extended) default constructor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0d3f.adoc[ConstructorProxy](xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0d3f.adoc[_» more..._]# 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. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ARG01> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0bf.adoc[ConstructorProxy]( ARG01& a01, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0bf.adoc[_» more..._]# Same as the preceding constructor, for rvalue `a01`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ARG01> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-09.adoc[ConstructorProxy]( ARG01&& a01, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-09.adoc[_» more..._]# 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. 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&&, ARG2&&, ...)`. Note that, in C++03, non‐const lvalue arguments will be forwarded as `const` lvalue references. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-018.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-018.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-07b.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-07b.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0ba.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0ba.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-08.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-08.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-073.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-073.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0c.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0c.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-06f.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-06f.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0de.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0de.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09, class ARG10> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-017.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, ARG10&& a10, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-017.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09, class ARG10, class ARG11> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0d3a.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, ARG10&& a10, ARG11&& a11, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0d3a.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09, class ARG10, class ARG11, class ARG12> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-065.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, ARG10&& a10, ARG11&& a11, ARG12&& a12, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-065.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09, class ARG10, class ARG11, class ARG12, class ARG13> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0a.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, ARG10&& a10, ARG11&& a11, ARG12&& a12, ARG13&& a13, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0a.adoc[_» more..._]# Same as the preceding overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARG01, class ARG02, class ARG03, class ARG04, class ARG05, class ARG06, class ARG07, class ARG08, class ARG09, class ARG10, class ARG11, class ARG12, class ARG13, class ARG14> xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0bb.adoc[ConstructorProxy]( ARG01&& a01, ARG02&& a02, ARG03&& a03, ARG04&& a04, ARG05&& a05, ARG06&& a06, ARG07&& a07, ARG08&& a08, ARG09&& a09, ARG10&& a10, ARG11&& a11, ARG12&& a12, ARG13&& a13, ARG14&& a14, xref:BloombergLP/bslalg/ConstructorProxy.adoc[CtorAllocArgT] const& allocator); ---- [.small]#xref:BloombergLP/bslalg/ConstructorProxy/2constructor-0bb.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#