package mikera.matrixx.impl; import java.util.Iterator; import mikera.matrixx.AMatrix; import mikera.vectorz.AVector; /** * Iterator over matrix rows * * @author Mike */ public class MatrixIterator implements Iterator<AVector> { private final AMatrix source; private final int maxPos; private int pos; public MatrixIterator(AMatrix source) { this.pos=0; this.source=source; this.maxPos=source.rowCount(); } @Override public boolean hasNext() { return pos<maxPos; } @Override public AVector next() { assert(pos<maxPos); return source.getRow(pos++); } @Override public void remove() { throw new UnsupportedOperationException("Cannot remove from MatrixIterator"); } }