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.
explicit
ConstructorProxy(CtorAllocArgT const& allocator);
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.
template<class ARG01>
ConstructorProxy(
ARG01& a01,
CtorAllocArgT const& allocator);
Same as the preceding constructor, for rvalue a01.
template<class ARG01>
ConstructorProxy(
ARG01&& a01,
CtorAllocArgT const& allocator);
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.
template<
class ARG01,
class ARG02>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06,
class ARG07>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
ARG07&& a07,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06,
class ARG07,
class ARG08>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
ARG07&& a07,
ARG08&& a08,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06,
class ARG07,
class ARG08,
class ARG09>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
ARG07&& a07,
ARG08&& a08,
ARG09&& a09,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06,
class ARG07,
class ARG08,
class ARG09,
class ARG10>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
ARG07&& a07,
ARG08&& a08,
ARG09&& a09,
ARG10&& a10,
CtorAllocArgT const& allocator);
Same as the preceding overload.
template<
class ARG01,
class ARG02,
class ARG03,
class ARG04,
class ARG05,
class ARG06,
class ARG07,
class ARG08,
class ARG09,
class ARG10,
class ARG11>
ConstructorProxy(
ARG01&& a01,
ARG02&& a02,
ARG03&& a03,
ARG04&& a04,
ARG05&& a05,
ARG06&& a06,
ARG07&& a07,
ARG08&& a08,
ARG09&& a09,
ARG10&& a10,
ARG11&& a11,
CtorAllocArgT const& allocator);
Same as the preceding overload.
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>
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,
CtorAllocArgT const& allocator);
Same as the preceding overload.
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>
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,
CtorAllocArgT const& allocator);
Same as the preceding overload.
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>
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,
CtorAllocArgT const& allocator);
Created with MrDocs