Пространства имён
Варианты
Действия

std::pmr::monotonic_buffer_resource::monotonic_buffer_resource

Материал из cppreference.com
 
 
Динамическое управление памятью
no section name
Ограниченные алгоритмы неинициализированной памяти
no section name
Поддержка сбора мусора
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)



no section name
 
 
<tbody> </tbody>
monotonic_buffer_resource();
(1) (начиная с C++17)
explicit monotonic_buffer_resource( std::pmr::memory_resource* upstream );
(2) (начиная с C++17)
explicit monotonic_buffer_resource( std::size_t initial_size );
(3) (начиная с C++17)
monotonic_buffer_resource( std::size_t initial_size, std::pmr::memory_resource* upstream );
(4) (начиная с C++17)
monotonic_buffer_resource( void* buffer, std::size_t buffer_size );
(5) (начиная с C++17)
monotonic_buffer_resource( void* buffer, std::size_t buffer_size, std::pmr::memory_resource* upstream );
(6) (начиная с C++17)
monotonic_buffer_resource( const monotonic_buffer_resource& ) = delete;
(7) (начиная с C++17)

Создаёт monotonic_buffer_resource. Конструкторы, не принимающие указатель на вышестоящий ресурс памяти, используют возвращаемое значение std::pmr::get_default_resource в качестве вышестоящего ресурса памяти.

1,2) Устанавливает текущий буфер равным нулю, а следующий размер буфера равным размеру, определяемому реализацией.
3,4) Устанавливает текущий буфер равным нулю, а следующий размер буфера в размер не меньший, чем initial_size.
5,6) Устанавливает для текущего буфера значение buffer, а для следующего размера буфера значение buffer_size (но не менее 1). Затем увеличивает следующий размер буфера на определяемый реализацией коэффициент роста (который не обязательно должен быть целым).
7) Конструктор копирования удалён.

Параметры

upstream вышестоящий ресурс памяти для использования; должен указывать на допустимый ресурс памяти
initial_size минимальный размер первого выделяемого буфера; должен быть больше нуля
buffer начальный буфер для использования
buffer_size размер начального буфера; не может быть больше, чем количество байтов в buffer