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`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### 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>`