All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mayabot.nlp.hppc.ArraySizingStrategy Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
package com.mayabot.nlp.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 - 2024 Weber Informatics LLC | Privacy Policy