com.carrotsearch.hppc.ArraySizingStrategy Maven / Gradle / Ivy
The newest version!
package com.carrotsearch.hppc;
/**
* Resizing (growth) strategy for array-backed buffers.
*/
public interface ArraySizingStrategy {
/**
* @param currentBufferLength
* Current size of the array (buffer). This number should comply with
* the strategy's policies (it is a result of initial rounding or
* further growCalls). It can also be zero, indicating the growth
* from an empty buffer.
*
* @param elementsCount
* Number of elements stored in the buffer.
*
* @param expectedAdditions
* Expected number of additions (resize hint).
*
* @return Must return a new size at least as big as to hold
* elementsCount + expectedAdditions
.
*
* @throws BufferAllocationException
* If the sizing strategy cannot grow the buffer (for example due to
* constraints or memory limits).
*/
int grow(int currentBufferLength, int elementsCount, int expectedAdditions) throws BufferAllocationException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy