Class BufferedIterator32

java.lang.Object
com.googlecode.javaewah32.BufferedIterator32
All Implemented Interfaces:
IteratingRLW32, Cloneable

public class BufferedIterator32 extends Object implements IteratingRLW32, Cloneable
This class can be used to iterate over blocks of bitmap data.
Author:
Daniel Lemire
  • Constructor Details

    • BufferedIterator32

      public BufferedIterator32(CloneableIterator<EWAHIterator32> iterator)
      Instantiates a new iterating buffered running length word.
      Parameters:
      iterator - iterator
  • Method Details

    • discardFirstWords

      public void discardFirstWords(int x)
      Discard first words, iterating to the next running length word if needed.
      Specified by:
      discardFirstWords in interface IteratingRLW32
      Parameters:
      x - the number of words to be discarded
    • discardLiteralWords

      public void discardLiteralWords(int x)
      Description copied from interface: IteratingRLW32
      Discard x literal words (assumes that there is no running word)
      Specified by:
      discardLiteralWords in interface IteratingRLW32
      Parameters:
      x - the number of words to discard
    • discardRunningWords

      public void discardRunningWords()
      Description copied from interface: IteratingRLW32
      Discard all running words
      Specified by:
      discardRunningWords in interface IteratingRLW32
    • next

      public boolean next()
      Move to the next RunningLengthWord
      Specified by:
      next in interface IteratingRLW32
      Returns:
      whether the move was possible
    • getLiteralWordAt

      public int getLiteralWordAt(int index)
      Get the nth literal word for the current running length word
      Specified by:
      getLiteralWordAt in interface IteratingRLW32
      Parameters:
      index - zero based index
      Returns:
      the literal word
    • getNumberOfLiteralWords

      public int getNumberOfLiteralWords()
      Gets the number of literal words for the current running length word.
      Specified by:
      getNumberOfLiteralWords in interface IteratingRLW32
      Returns:
      the number of literal words
    • getRunningBit

      public boolean getRunningBit()
      Gets the running bit. RunningBit
      Specified by:
      getRunningBit in interface IteratingRLW32
      Returns:
      the running bit
    • getRunningLength

      public int getRunningLength()
      Gets the running length.
      Specified by:
      getRunningLength in interface IteratingRLW32
      Returns:
      the running length
    • size

      public int size()
      Size in uncompressed words of the current running length word.
      Specified by:
      size in interface IteratingRLW32
      Returns:
      the size
    • clone

      Specified by:
      clone in interface IteratingRLW32
      Overrides:
      clone in class Object
      Returns:
      a copy of the iterator
      Throws:
      CloneNotSupportedException - this should not be thrown in theory