Moves the current position to the next non-default value, if any.
virtual bool next() = 0;
False if the end of the data is reached, true otherwise.
The iterator will be out-of-date if the data is changed. In that case, next() will throw an InvalidUseException.
Use reset() to resolve this situation.