Package org.apache.lucene.util.packed

# Class PackedInts.Mutable

java.lang.Object
org.apache.lucene.util.packed.PackedInts.Reader
org.apache.lucene.util.packed.PackedInts.Mutable

All Implemented Interfaces:
  `Accountable`

Direct Known Subclasses:
  `GrowableWriter`

Enclosing class:
  `PackedInts`

public abstract static class PackedInts.Mutable extends PackedInts.Reader
A packed integer array that can be modified.

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

## Field Summary

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

`NULL_ACCOUNTABLE`

## Constructor Summary

Constructors
Constructor
Description
`Mutable()`

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Sets all values to 0.
`void`
`fill(int fromIndex, int toIndex, long val)`
Fill the mutable from `fromIndex` (inclusive) to `toIndex` (exclusive) with `val`.
`abstract int`
`getBitsPerValue()`
`abstract void`
`set(int index, long value)`
Set the value at the given index in the array.
`int`
`set(int index, long[] arr, int off, int len)`
Bulk set: set at least one and at most `len` longs starting at `off` in `arr` into this mutable, starting at `index`.

### Methods inherited from class org.apache.lucene.util.packed.PackedInts.Reader

`get, get, size`

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

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

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

`getChildResources, ramBytesUsed`

## Constructor Details

### Mutable

public Mutable()

## Method Details

### getBitsPerValue

public abstract int getBitsPerValue()

Returns:
  the number of bits used to store any given value. Note: This does not imply that memory usage is `bitsPerValue * #values` as implementations are free to use non-space-optimal packing of bits.

### set

public abstract void set(int index, long value)
Set the value at the given index in the array.

Parameters:
  `index` - where the value should be positioned.
  `value` - a value conforming to the constraints set by the array.

### set

public int set(int index, long[] arr, int off, int len)
Bulk set: set at least one and at most `len` longs starting at `off` in `arr` into this mutable, starting at `index`. Returns the actual number of values that have been set.

### fill

public void fill(int fromIndex, int toIndex, long val)
Fill the mutable from `fromIndex` (inclusive) to `toIndex` (exclusive) with `val`.

### clear

public void clear()
Sets all values to 0.