Package com.googlecode.javaewah
Class BufferedIterator
java.lang.Object
com.googlecode.javaewah.BufferedIterator
- All Implemented Interfaces:
IteratingRLW,Cloneable
This class can be used to iterate over blocks of bitmap data.
- Author:
- Daniel Lemire
-
Constructor Summary
ConstructorsConstructorDescriptionBufferedIterator(CloneableIterator<EWAHIterator> iterator)Instantiates a new iterating buffered running length word. -
Method Summary
Modifier and TypeMethodDescriptionclone()voiddiscardFirstWords(long x)Discard first words, iterating to the next running length word if needed.voiddiscardLiteralWords(long x)Discard x literal words (assumes that there is no running word)voidDiscard all running wordslonggetLiteralWordAt(int index)Get the nth literal word for the current running length wordintGets the number of literal words for the current running length word.booleanGets the running bit.longGets the running length.booleannext()Move to the next RunningLengthWordlongsize()Size in uncompressed words of the current running length word.
-
Constructor Details
-
BufferedIterator
Instantiates a new iterating buffered running length word.- Parameters:
iterator- iterator
-
-
Method Details
-
discardFirstWords
public void discardFirstWords(long x)Discard first words, iterating to the next running length word if needed.- Specified by:
discardFirstWordsin interfaceIteratingRLW- Parameters:
x- the number of words to be discarded
-
discardLiteralWords
public void discardLiteralWords(long x)Description copied from interface:IteratingRLWDiscard x literal words (assumes that there is no running word)- Specified by:
discardLiteralWordsin interfaceIteratingRLW- Parameters:
x- the number of words to discard
-
discardRunningWords
public void discardRunningWords()Description copied from interface:IteratingRLWDiscard all running words- Specified by:
discardRunningWordsin interfaceIteratingRLW
-
next
public boolean next()Move to the next RunningLengthWord- Specified by:
nextin interfaceIteratingRLW- Returns:
- whether the move was possible
-
getLiteralWordAt
public long getLiteralWordAt(int index)Get the nth literal word for the current running length word- Specified by:
getLiteralWordAtin interfaceIteratingRLW- 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 interfaceIteratingRLW- Returns:
- the number of literal words
-
getRunningBit
public boolean getRunningBit()Gets the running bit.- Specified by:
getRunningBitin interfaceIteratingRLW- Returns:
- the running bit
-
getRunningLength
public long getRunningLength()Gets the running length.- Specified by:
getRunningLengthin interfaceIteratingRLW- Returns:
- the running length
-
size
public long size()Size in uncompressed words of the current running length word.- Specified by:
sizein interfaceIteratingRLW- Returns:
- the size
-
clone
- Specified by:
clonein interfaceIteratingRLW- Overrides:
clonein classObject- Returns:
- a copy of the iterator
- Throws:
CloneNotSupportedException- this should not be thrown in theory
-