scoped_allocator_adaptor();
template <class OuterA2>
scoped_allocator_adaptor(OuterA2&& outerAlloc,
const InnerAllocs&... innerAllocs) noexcept;
Effects: Инициализирует OuterAlloc базовый класс с помощью std::forward<OuterA2>(outerAlloc) и inner с innerAllocs... (следовательно, рекурсивно инициализирует каждый распределитель в адаптере соответствующим распределителем из списка аргументов).
Remarks: Этот конструктор не должен участвовать в разрешении перегрузки , если is_constructible_v<OuterAlloc, OuterA2> не true.
scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
Effects: Инициализирует каждый распределитель в адаптере соответствующим распределителем из other.
scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
Effects: Move создает каждый распределитель в адаптере с соответствующим распределителем из other.
template <class OuterA2>
scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2,
InnerAllocs...>& other) noexcept;
Effects: Инициализирует каждый распределитель в адаптере соответствующим распределителем из other.
Remarks: Этот конструктор не должен участвовать в разрешении перегрузки , если is_constructible_v<OuterAlloc, const OuterA2&> не true.
template <class OuterA2>
scoped_allocator_adaptor(scoped_allocator_adaptor<OuterA2,
InnerAllocs...>&& other) noexcept;
Effects: Инициализирует каждый распределитель в адаптере соответствующим rvalue распределителя из other.