std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::scoped_allocator_adaptor (3) - Linux Manuals

std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::scoped_allocator_adaptor: std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::scoped_allocator_adaptor

NAME

std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::scoped_allocator_adaptor - std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>::scoped_allocator_adaptor

Synopsis


Defined in header <scoped_allocator>
scoped_allocator_adaptor(); (1) (since C++11)
template< class OuterA2 > (2) (since C++11)
scoped_allocator_adaptor( OuterA2&& outerAlloc, const InnerAllocs&... innerAllocs) noexcept;
scoped_allocator_adaptor( const scoped_allocator_adaptor& other ) noexcept; (3) (since C++11)
scoped_allocator_adaptor( scoped_allocator_adaptor&& other ) noexcept; (4) (since C++11)
template< class OuterA2 > (5) (since C++11)
scoped_allocator_adaptor( const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& other ) noexcept;
template< class OuterA2 > (6) (since C++11)
scoped_allocator_adaptor( scoped_allocator_adaptor<OuterA2, 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 only participates in overload resolution 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 only participates in overload resolution 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 only participates in overload resolution 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 constrained, interfering with metaprogramming constraint added

See also


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