Package org.apache.sysds.runtime.compress.colgroup.offset

## Class OffsetTwo

- java.lang.Object
- - org.apache.sysds.runtime.compress.colgroup.offset.AOffset
  - - org.apache.sysds.runtime.compress.colgroup.offset.OffsetTwo

- All Implemented Interfaces:
    `Serializable`

      public class OffsetTwo
      extends AOffset

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OffsetTwo​(int first, int last)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static long` | `estimateInMemorySize()` |
    `long` | `getExactSizeOnDisk()` | Remember to include the ordinal of the type of offset list.
    `long` | `getInMemorySize()` | Get the in memory size of the Offset object
    `AIterator` | `getIterator()` | Get an iterator of the offsets while also maintaining the data index pointer.
    `AOffsetIterator` | `getOffsetIterator()` | Get an OffsetIterator of current offsets not maintaining the data index.
    `int` | `getOffsetsLength()` | Get the length of the underlying offsets lists.
    `int` | `getOffsetToFirst()` | Get the offset to the first index
    `int` | `getOffsetToLast()` | Get the offset to the last value
    `int` | `getSize()` | Get the number of contained elements, This method iterate the entire offset list, so it is not constant lookup.
    `static OffsetTwo` | `readFields​(DataInput in)` |
    `void` | `write​(DataOutput out)` | Write the offsets to disk.

    - ### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.offset.AOffset

      `cacheIterator, equals, getIterator, preAggregateDenseMap, preAggregateSparseMap, toString`

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

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

- - ### Constructor Detail

    - #### OffsetTwo

          public OffsetTwo​(int first,
                           int last)

  - ### Method Detail

    - #### getIterator

          public AIterator getIterator()

      Description copied from class: `AOffset`
      Get an iterator of the offsets while also maintaining the data index pointer.
      Specified by:
        `getIterator` in class `AOffset`
      Returns:
        AIterator that iterate through index and dictionary offset values.

    - #### getOffsetIterator

          public AOffsetIterator getOffsetIterator()

      Description copied from class: `AOffset`
      Get an OffsetIterator of current offsets not maintaining the data index.
      Specified by:
        `getOffsetIterator` in class `AOffset`
      Returns:
        AIterator that iterator through the delta offsets.

    - #### getExactSizeOnDisk

          public long getExactSizeOnDisk()

      Description copied from class: `AOffset`
      Remember to include the ordinal of the type of offset list.
      Specified by:
        `getExactSizeOnDisk` in class `AOffset`
      Returns:
        the size on disk as a long.

    - #### getSize

          public int getSize()

      Description copied from class: `AOffset`
      Get the number of contained elements, This method iterate the entire offset list, so it is not constant lookup.
      Specified by:
        `getSize` in class `AOffset`
      Returns:
        The number of indexes.

    - #### getOffsetToFirst

          public int getOffsetToFirst()

      Description copied from class: `AOffset`
      Get the offset to the first index
      Specified by:
        `getOffsetToFirst` in class `AOffset`
      Returns:
        The first index offset

    - #### getOffsetToLast

          public int getOffsetToLast()

      Description copied from class: `AOffset`
      Get the offset to the last value
      Specified by:
        `getOffsetToLast` in class `AOffset`
      Returns:
        The last values offset

    - #### getOffsetsLength

          public int getOffsetsLength()

      Description copied from class: `AOffset`
      Get the length of the underlying offsets lists.
      Specified by:
        `getOffsetsLength` in class `AOffset`
      Returns:
        The number of offsets.

    - #### getInMemorySize

          public long getInMemorySize()

      Description copied from class: `AOffset`
      Get the in memory size of the Offset object
      Specified by:
        `getInMemorySize` in class `AOffset`
      Returns:
        In memory size as a long.

    - #### estimateInMemorySize

          public static long estimateInMemorySize()

    - #### write

          public void write​(DataOutput out)
                     throws IOException

      Description copied from class: `AOffset`
      Write the offsets to disk. If you implement another remember to write the ordinal of the new type to disk as well and add it to the OffsetFactory.
      Specified by:
        `write` in class `AOffset`
      Parameters:
        `out` - The output to write to
      Throws:
        `IOException` - Exception that happens if the IO fails to write.

    - #### readFields

          public static OffsetTwo readFields​(DataInput in)
                                      throws IOException

      Throws:
        `IOException`