Experimental library header <experimental/memory_resource>
From cppreference.net
<
cpp
|
header
|
experimental
Этот заголовок является частью Technical Specification по основам библиотеки ( v1 , v2 , v3 ).
Содержание |
Классы
|
Определено в пространстве имен
std::experimental::pmr
|
|
|
абстрактный интерфейс для классов, инкапсулирующих ресурсы памяти
(класс) |
|
|
потокобезопасный
memory_resource
для управления выделением памяти в пулах различных размеров блоков
(класс) |
|
|
непотокобезопасный
memory_resource
для управления выделением памяти в пулах различных размеров блоков
(класс) |
|
|
специализированный
memory_resource
который освобождает выделенную память только при уничтожении ресурса
(класс) |
|
|
аллокатор, поддерживающий полиморфизм времени выполнения на основе
memory_resource
с которым он создан
(шаблон класса) |
|
|
адаптирует аллокатор в
memory_resource
(шаблон псевдонима) |
|
Функции
|
Определено в пространстве имен
std::experimental::pmr
|
|
Сравнение |
|
сравнивает два
memory_resource
(функция) |
|
|
сравнивает два аллокатора
(шаблон функции) |
|
Глобальные ресурсы памяти |
|
возвращает статический программно-глобальный
memory_resource
, который использует глобальные
operator new
и
operator delete
для выделения и освобождения памяти
(функция) |
|
возвращает статический
memory_resource
, который не выполняет выделение памяти
(функция) |
|
Ресурс памяти по умолчанию |
|
получает ресурс памяти по умолчанию
memory_resource
(функция) |
|
устанавливает ресурс памяти по умолчанию
memory_resource
(функция) |
|
Синопсис
namespace std { namespace experimental { inline namespace fundamentals_v1 { namespace pmr { class memory_resource; bool operator==(const memory_resource& a, const memory_resource& b) noexcept; bool operator!=(const memory_resource& a, const memory_resource& b) noexcept; template <class Tp> class polymorphic_allocator; template <class T1, class T2> bool operator==(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; template <class T1, class T2> bool operator!=(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; // Имя resource_adaptor_imp используется только для демонстрации template <class Allocator> class resource_adaptor_imp; template <class Allocator> using resource_adaptor = resource_adaptor_imp< typename allocator_traits<Allocator>::template rebind_alloc<char>>; // Глобальные ресурсы памяти memory_resource* new_delete_resource() noexcept; memory_resource* null_memory_resource() noexcept; // Ресурс памяти по умолчанию memory_resource* set_default_resource(memory_resource* r) noexcept; memory_resource* get_default_resource() noexcept; // Стандартные ресурсы памяти struct pool_options; class synchronized_pool_resource; class unsynchronized_pool_resource; class monotonic_buffer_resource; } // namespace pmr } // namespace fundamentals_v1 } // namespace experimental } // namespace std