seek method
consume() ahead until p==_index; can't just set p=_index as we must update line and column. If we seek backwards, just set p
Implementation
@override
void seek(int _index) {
if (_index <= this._index) {
this._index = _index; // just jump; don't update stream state (line,
// ...)
return;
}
// seek forward
this._index = min(_index, size);
}