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

    All Methods Instance Methods Abstract Methods Concrete Methods
    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 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.