BloombergLP::bslalg::ConstructorProxy::ConstructorProxy

Construct a proxy that forwards one argument to the proxied object.

Synopsis

Declared in <bslalg_constructorproxy.h>

template<class ARG01>
ConstructorProxy(
    ARG01& a01,
    CtorAllocArgT const& allocator);

Description

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.

Parameters

NameDescription
a01argument forwarded to the proxied object constructor, or unwrapped via object() if it is a ConstructorProxy
allocatorallocator passed to the proxied object if it is allocator-aware; ignored otherwise