min_bytes
This argument has prototype
size_t min_bytes
It specifies the minimum number of bytes to allocate.
This value must be less than
std::numeric_limits<size_t>::max() / 2
cap_bytes
This argument has prototype
size_t& cap_bytes
It's input value does not matter.
Upon return, it is the actual number of bytes (capacity)
that have been allocated for use,
min_bytes <= cap_bytes
v_ptr
The return value
v_ptr
has prototype
void* v_ptr
It is the location where the
cap_bytes
of memory
that have been allocated for use begins.
Allocation Speed
This allocation should be faster if the following conditions hold:
The memory allocated by a previous call to get_memory
is currently available for use.
The current
min_bytes
is between
the previous
min_bytes
and previous
cap_bytes
.
Alignment
We call a memory allocation aligned if the address is a multiple
of the number of bytes in a size_t value.
If the system new allocator is aligned, then
v_ptr
pointer is also aligned.