Namespaces
Variants

std::experimental::pmr:: unsynchronized_pool_resource

From cppreference.net
Определено в заголовочном файле <experimental/memory_resource>
class unsynchronized_pool_resource : public memory_resource ;
(техническая спецификация библиотеки fundamentals)

Класс std::experimental::pmr::unsynchronized_pool_resource является классом ресурса памяти общего назначения со следующими свойствами:

  • Он владеет выделенной памятью и освобождает её при уничтожении, даже если deallocate не был вызван для некоторых из выделенных блоков.
  • Он состоит из набора пулов , обслуживающих запросы для разных размеров блоков. Каждый пул управляет коллекцией чанков , которые затем делятся на блоки одинакового размера.
  • Вызовы do_allocate перенаправляются в пул, обслуживающий наименьшие блоки, вмещающие запрошенный размер.
  • Исчерпание памяти в пуле приводит к тому, что следующий запрос на выделение для этого пула выделяет дополнительный чанк памяти из вышестоящего аллокатора для пополнения пула. Размер получаемого чанка увеличивается геометрически.
  • Запросы на выделение, превышающие наибольший размер блока, обслуживаются напрямую из вышестоящего аллокатора .
  • Наибольший размер блока и максимальный размер чанка могут быть настроены путём передачи структуры std::experimental::pmr::pool_options в его конструктор.

unsynchronized_pool_resource не является потокобезопасным и не может использоваться одновременно из нескольких потоков; используйте synchronized_pool_resource если требуется доступ из нескольких потоков.

Функции-члены

создает unsynchronized_pool_resource
(публичная функция-член)
[virtual]
уничтожает unsynchronized_pool_resource , освобождая всю выделенную память
(виртуальная публичная функция-член)
operator=
[deleted]
оператор копирующего присваивания удален. unsynchronized_pool_resource не поддерживает копирующее присваивание
(публичная функция-член)
Публичные функции-члены
освобождает всю выделенную память
(публичная функция-член)
возвращает указатель на вышестоящий ресурс памяти
(публичная функция-член)
возвращает опции, управляющие поведением пула данного ресурса
(публичная функция-член)
Защищенные функции-члены
[virtual]
выделяет память
(виртуальная защищенная функция-член)
[virtual]
возвращает память в пул
(виртуальная защищенная функция-член)
[virtual]
сравнивает на равенство с другим memory_resource
(виртуальная защищенная функция-член)