23 General utilities library [utilities]
explicit monotonic_buffer_resource(memory_resource* upstream);
monotonic_buffer_resource(size_t initial_size, memory_resource* upstream);
Requires:
upstream shall be the address of a valid memory resource
. initial_size, if specified, shall be greater than zero
. Effects:
Sets
upstream_rsrc to
upstream and
current_buffer to
nullptr. If
initial_size is specified,
sets
next_buffer_size to at least
initial_size;
otherwise sets
next_buffer_size to an
implementation-defined size
.monotonic_buffer_resource(void* buffer, size_t buffer_size, memory_resource* upstream);
Requires:
upstream shall be the address of a valid memory resource
. buffer_size shall be no larger than the number of bytes in
buffer. Effects:
Sets
upstream_rsrc to
upstream,
current_buffer to
buffer, and
next_buffer_size to
buffer_size (but not less than 1),
then increases
next_buffer_size
by an
implementation-defined growth factor (which need not be integral)
. ~monotonic_buffer_resource();
Effects:
Calls
release().