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