23 General utilities library [utilities]

23.13 Class template scoped_­allocator_­adaptor [allocator.adaptor]

23.13.3 Scoped allocator adaptor constructors [allocator.adaptor.cnstr]

scoped_allocator_adaptor();

Effects: Значение инициализирует OuterAlloc базовый класс и inner объект распределителя.

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.

Remarks: Этот конструктор не должен участвовать в разрешении перегрузки , если is_­constructible_­v<OuterAlloc, OuterA2> не true.