Interface RowIterator

All Superinterfaces:
AutoCloseable, Closeable, TimeAndDimsIterator
All Known Subinterfaces:
TransformableRowIterator
All Known Implementing Classes:
ForwardingRowIterator

public interface RowIterator extends TimeAndDimsIterator
Extension of TimeAndDimsIterator, specialized for RowPointer instead of TimeAndDimsPointer. Also, RowIterator encapsulates tracking of data point changes between TimeAndDimsIterator.moveToNext() calls via mark() and hasTimeAndDimsChangedSinceMark() methods. This functionality is used in RowCombiningTimeAndDimsIterator, and also internally in MergingRowIterator to reduce the number of comparisons that this class makes. This functionality is added directly to RowIterator interface rather than left to be implemented externally to this interface, because it's inefficient to do the latter with "generic" RowIterator, because of TimeAndDimsPointer allocation-free design, that reuses objects. On the other hand, some implementations of RowIterator allow to optimize mark() and hasTimeAndDimsChangedSinceMark().