Interface IteratingRLW

All Known Implementing Classes:
BufferedIterator, IteratingBufferedRunningLengthWord

public interface IteratingRLW
High-level iterator over a compressed bitmap.
  • Method Details

    • next

      boolean next()
      Returns:
      whether there is more
    • getLiteralWordAt

      long getLiteralWordAt(int index)
      Parameters:
      index - where the literal word is
      Returns:
      the literal word at the given index.
    • getNumberOfLiteralWords

      int getNumberOfLiteralWords()
      Returns:
      the number of literal (non-fill) words
    • getRunningBit

      boolean getRunningBit()
      Returns:
      the bit used for the fill bits
    • size

      long size()
      Returns:
      sum of getRunningLength() and getNumberOfLiteralWords()
    • getRunningLength

      long getRunningLength()
      Returns:
      length of the run of fill words
    • discardFirstWords

      void discardFirstWords(long x)
      Parameters:
      x - the number of words to discard
    • discardRunningWords

      void discardRunningWords()
      Discard all running words
    • discardLiteralWords

      void discardLiteralWords(long x)
      Discard x literal words (assumes that there is no running word)
      Parameters:
      x - the number of words to discard
    • clone

      Returns:
      a copy of the iterator
      Throws:
      CloneNotSupportedException - this should not be thrown in theory