Package com.googlecode.javaewah32
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 Summary
Constructors Constructor Description BufferedIterator32(CloneableIterator<EWAHIterator32> iterator)Instantiates a new iterating buffered running length word.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BufferedIterator32clone()voiddiscardFirstWords(int x)Discard first words, iterating to the next running length word if needed.voiddiscardLiteralWords(int x)Discard x literal words (assumes that there is no running word)voiddiscardRunningWords()Discard all running wordsintgetLiteralWordAt(int index)Get the nth literal word for the current running length wordintgetNumberOfLiteralWords()Gets the number of literal words for the current running length word.booleangetRunningBit()Gets the running bit.intgetRunningLength()Gets the running length.booleannext()Move to the next RunningLengthWordintsize()Size in uncompressed words of the current running length word.
-
-
-
Constructor Detail
-
BufferedIterator32
public BufferedIterator32(CloneableIterator<EWAHIterator32> iterator)
Instantiates a new iterating buffered running length word.- Parameters:
iterator- iterator
-
-
Method Detail
-
discardFirstWords
public void discardFirstWords(int x)
Discard first words, iterating to the next running length word if needed.- Specified by:
discardFirstWordsin interfaceIteratingRLW32- Parameters:
x- the number of words to be discarded
-
discardLiteralWords
public void discardLiteralWords(int x)
Description copied from interface:IteratingRLW32Discard x literal words (assumes that there is no running word)- Specified by:
discardLiteralWordsin interfaceIteratingRLW32- Parameters:
x- the number of words to discard
-
discardRunningWords
public void discardRunningWords()
Description copied from interface:IteratingRLW32Discard all running words- Specified by:
discardRunningWordsin interfaceIteratingRLW32
-
next
public boolean next()
Move to the next RunningLengthWord- Specified by:
nextin interfaceIteratingRLW32- 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:
getLiteralWordAtin interfaceIteratingRLW32- 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:
getNumberOfLiteralWordsin interfaceIteratingRLW32- Returns:
- the number of literal words
-
getRunningBit
public boolean getRunningBit()
Gets the running bit. RunningBit- Specified by:
getRunningBitin interfaceIteratingRLW32- Returns:
- the running bit
-
getRunningLength
public int getRunningLength()
Gets the running length.- Specified by:
getRunningLengthin interfaceIteratingRLW32- Returns:
- the running length
-
size
public int size()
Size in uncompressed words of the current running length word.- Specified by:
sizein interfaceIteratingRLW32- Returns:
- the size
-
clone
public BufferedIterator32 clone() throws CloneNotSupportedException
- Specified by:
clonein interfaceIteratingRLW32- Overrides:
clonein classObject- Returns:
- a copy of the iterator
- Throws:
CloneNotSupportedException- this should not be thrown in theory
-
-