Package org.apache.lucene.util.packed

# Class PagedMutable

java.lang.Object
org.apache.lucene.util.LongValues
org.apache.lucene.util.packed.AbstractPagedMutable<PagedMutable>
org.apache.lucene.util.packed.PagedMutable

All Implemented Interfaces:
  `Accountable`

public final class PagedMutable extends AbstractPagedMutable<PagedMutable>
A `PagedMutable`. This class slices data into fixed-size blocks which have the same number of bits per value. It can be a useful replacement for `PackedInts.Mutable` to store more than 2B values.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.util.LongValues

  `IDENTITY, ZEROES`

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PagedMutable(long size, int pageSize, int bitsPerValue, float acceptableOverheadRatio)`
  Create a new `PagedMutable` instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected long`
  `baseRamBytesUsed()`
  `protected PackedInts.Mutable`
  `newMutable(int valueCount, int bitsPerValue)`
  `protected PagedMutable`
  `newUnfilledCopy(long newSize)`

  ### Methods inherited from class org.apache.lucene.util.packed.AbstractPagedMutable

  `fillPages, get, grow, grow, ramBytesUsed, resize, set, size, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

- ## Constructor Details

  - ### PagedMutable

    public PagedMutable(long size, int pageSize, int bitsPerValue, float acceptableOverheadRatio)
    Create a new `PagedMutable` instance.
    Parameters:
      `size` - the number of values to store.
      `pageSize` - the number of values per page
      `bitsPerValue` - the number of bits per value
      `acceptableOverheadRatio` - an acceptable overhead ratio

- ## Method Details

  - ### newMutable

    protected PackedInts.Mutable newMutable(int valueCount, int bitsPerValue)
    Specified by:
      `newMutable` in class `AbstractPagedMutable<PagedMutable>`

  - ### newUnfilledCopy

    protected PagedMutable newUnfilledCopy(long newSize)
    Specified by:
      `newUnfilledCopy` in class `AbstractPagedMutable<PagedMutable>`

  - ### baseRamBytesUsed

    protected long baseRamBytesUsed()
    Overrides:
      `baseRamBytesUsed` in class `AbstractPagedMutable<PagedMutable>`