org.apache.lucene.util.packed

## Class PackedInts.Mutable

- java.lang.Object
- - org.apache.lucene.index.LegacyNumericDocValues
  - - 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.

### Constructor Summary

Constructors
Constructor and Description
`Mutable()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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()`
`void` `save(DataOutput out)` Save this mutable into `out`.
`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, size`

### Methods inherited from class org.apache.lucene.index.LegacyNumericDocValues

`get`

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

#### Mutable

    public Mutable()

### Method Detail

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

#### save

    public void save(DataOutput out)
              throws IOException

Save this mutable into `out`. Instantiating a reader from the generated data will return a reader with the same number of bits per value.

Throws:
  `IOException`