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

## Class AIterator

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

    public abstract class AIterator
    extends Object

Iterator interface, that returns a iterator of the indexes while also maintaining a data index.

### Field Summary

Fields
`static org.apache.commons.logging.Log` `LOG`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract AIterator` `clone()` Copy the iterator with the current values.
`boolean` `equals​(AIterator o)` Unsafe version of equals, note that it should only compare iterators stemming from the same Offset Object.
`abstract int` `getDataIndex()` Get the current data index associated with the index returned from value.
`abstract int` `getOffsetsIndex()` Get the current offsets index, that points to the underlying offsets list.
`boolean` `isNotOver​(int ub)` Find out if the current offset is not exceeding the index given.
`abstract int` `next()` Increment the pointers such that the both index and dataIndex is incremented to the next entry.
`void` `setOff​(int off)`
`abstract int` `skipTo​(int idx)` Skip values until index is achieved.
`int` `value()` Get the current index value, note this correspond to a row index in the original matrix.

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

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

### Field Detail

#### LOG

    public static final org.apache.commons.logging.Log LOG

### Method Detail

#### next

    public abstract int next()

Increment the pointers such that the both index and dataIndex is incremented to the next entry.

Returns:
  The new offset.

#### value

    public int value()

Get the current index value, note this correspond to a row index in the original matrix.

Returns:
  The current value pointed at.

#### setOff

    public void setOff​(int off)

#### isNotOver

    public boolean isNotOver​(int ub)

Find out if the current offset is not exceeding the index given.

Parameters:
  `ub` - The offset to not exceed
Returns:
  boolean if it is exceeded.

#### getDataIndex

    public abstract int getDataIndex()

Get the current data index associated with the index returned from value. This index points to a position int the mapToData object, that then inturn can be used to lookup the dictionary entry in ADictionary.

Returns:
  The Data Index.

#### getOffsetsIndex

    public abstract int getOffsetsIndex()

Get the current offsets index, that points to the underlying offsets list. This is available for debugging purposes, not to be used for the calling classes.

Returns:
  The Offsets Index.

#### skipTo

    public abstract int skipTo​(int idx)

Skip values until index is achieved.

Parameters:
  `idx` - The index to skip to.
Returns:
  the index that follows or are equal to the skip to index.

#### clone

    public abstract AIterator clone()

Copy the iterator with the current values.

#### equals

    public boolean equals​(AIterator o)

Unsafe version of equals, note that it should only compare iterators stemming from the same Offset Object.

Parameters:
  `o` - The Iterator to compare
Returns:
  The result