package mikera.indexz.impl; import java.util.Iterator; import mikera.indexz.AIndex; /** * General purpose iterator for arbitrary indexes. * * @author Mike */ public class IndexIterator implements Iterator<Integer> { private final AIndex source; private final int length; private int pos=0; public IndexIterator(AIndex source) { this.source=source; this.length=source.length(); } @Override public boolean hasNext() { return pos<length; } @Override public Integer next() { assert(pos<length); return source.get(pos++); } @Override public void remove() { throw new UnsupportedOperationException("Cannot remove from IndexIterator"); } }