23 General utilities library [utilities]
explicit monotonic_buffer_resource(memory_resource* upstream);
monotonic_buffer_resource(size_t initial_size, memory_resource* upstream);
Requires:
upstream должен быть адресом допустимого ресурса памяти.
initial_size, если указано, должно быть больше нуля.
Effects:
Устанавливает upstream_rsrc на upstream и
current_buffer на nullptr. Если initial_size указано, устанавливается next_buffer_size как минимум initial_size; в противном случае устанавливает next_buffer_size к
реализации определенных размеров.
monotonic_buffer_resource(void* buffer, size_t buffer_size, memory_resource* upstream);
Requires:
upstream должен быть адресом допустимого ресурса памяти.
buffer_size не должно быть больше, чем количество байтов в buffer.
Effects:
Устанавливается upstream_rsrc в upstream,
current_buffer в bufferи
next_buffer_size в buffer_size (но не менее 1), затем увеличивается next_buffer_size
на коэффициент роста, определяемый реализацией (который не обязательно должен быть целым).
~monotonic_buffer_resource();
Effects:
Звонки release().