Validates that the data actually needed fits into the configured allocation limit, then returns the new buffer capacity to allocate. The capacity grows geometrically to keep the number of reallocations logarithmic, but it is capped at the limit: an overshoot of the growth must not make a read fail that would have fit into memory, and it must not exceed the limit either.
next.buffer.capacity(needed, capacity, bytes_per_elem = 8, label = NULL)numeric, the new capacity.
numeric, the number of rows that the buffer must hold.
numeric, the current capacity.
numeric, bytes per row (for integer vectors this is the size of a single element).
character string or NULL, description used in error messages.