std::scoped_allocator_adaptor::scoped_allocator_adaptor(3)

NAME
std::scoped_allocator_adaptor::scoped_allocator_adaptor - std::scoped_allocator_adaptor::scoped_allocator_adaptor

Synopsis
   Defined in header <scoped_allocator>
   scoped_allocator_adaptor(); (1) (since C++11)
   template< class OuterA2 >
   scoped_allocator_adaptor( OuterA2&& outerAlloc, const (2) (since C++11)
   InnerAllocs&... innerAllocs) noexcept;
   scoped_allocator_adaptor( const scoped_allocator_adaptor& other ) (3) (since C++11)
   noexcept;
   scoped_allocator_adaptor( scoped_allocator_adaptor&& other ) (4) (since C++11)
   noexcept;
   template< class OuterA2 >
   scoped_allocator_adaptor( const scoped_allocator_adaptor<OuterA2, (5) (since C++11)
   InnerAllocs...>& other ) noexcept;
   template< class OuterA2 >
   scoped_allocator_adaptor( scoped_allocator_adaptor<OuterA2, (6) (since C++11)
   InnerAllocs...>&& other ) noexcept;
   1) Default constructor: value-initializes the OuterAlloc base class and the inner
   allocator member object, if used by the implementation.
   2) Constructs the base class OuterAlloc from std::forward<OuterA2>(outerAlloc), and
   the inner allocators with innerAllocs.... This overload participates in overload
   resolution only if std::is_constructible<OuterAlloc, OuterA2>::value is true.
   3) Copy-constructor: initializes each allocator from the corresponding allocator of
   other
   4) Move-constructor: moves each allocator from the corresponding allocator of other
   into *this
   5) Initializes each allocator from the corresponding allocator of other. This
   overload participates in overload resolution only if
   std::is_constructible<OuterAlloc, const OuterA2&>::value is true.
   6) Initializes each allocator from the corresponding allocator of other, using move
   semantics. This overload participates in overload resolution only if
   std::is_constructible<OuterAlloc, OuterA2>::value is true.

Parameters
   outerAlloc - constructor argument for the outer allocator
   innerAllocs... - constructor arguments for the inner allocators
   other - another std::scoped_allocator_adaptor
  Defect reports
   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.
      DR Applied to Behavior as published Correct behavior
   LWG 2782 C++11 constructors taking OuterA2 weren't constraint added
                       constrained, interfering with metaprogramming

See also
   allocate allocates uninitialized storage using the outer allocator
             (public member function)
             constructs an object in allocated storage, passing the inner allocator to
   construct its constructor if appropriate
             (public member function)