23 General utilities library [utilities]
scoped_allocator_adaptor();
Effects: Value-initializes the
OuterAlloc base class and the
inner allocator
object
. template <class OuterA2>
scoped_allocator_adaptor(OuterA2&& outerAlloc,
const InnerAllocs&... innerAllocs) noexcept;
Effects: Initializes the
OuterAlloc base class with
std::forward<OuterA2>(outerAlloc) and
inner with
innerAllocs...
(hence recursively initializing each allocator within the adaptor with the corresponding
allocator from the argument list)
. Remarks: This constructor shall not participate in overload resolution unless
is_constructible_v<OuterAlloc, OuterA2> is
true. scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
Effects: Initializes each allocator within the adaptor with the corresponding allocator
from
other. scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
Effects: Move constructs each allocator within the adaptor with the corresponding allocator
from
other. template <class OuterA2>
scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2,
InnerAllocs...>& other) noexcept;
Effects: Initializes each allocator within the adaptor with the corresponding allocator
from
other. Remarks: This constructor shall not participate in overload resolution unless
is_constructible_v<OuterAlloc, const OuterA2&> is
true. template <class OuterA2>
scoped_allocator_adaptor(scoped_allocator_adaptor<OuterA2,
InnerAllocs...>&& other) noexcept;
Effects: Initializes each allocator within the adaptor with the corresponding allocator rvalue
from
other. Remarks: This constructor shall not participate in overload resolution unless
is_constructible_v<OuterAlloc, OuterA2> is
true.