removeRange method
void
removeRange(
- int start,
- int end
)
Implementation
void removeRange(int start, int end) {
assert(start == 0, 'Sorry only zero is supported');
assert(start <= end);
assert(end <= length);
var remaining = end;
while (remaining > 0 && _buffers.isNotEmpty) {
final buffer = _buffers.first;
// Remove the whole buffer
if (remaining > (buffer.length - _offset)) {
_buffers.removeFirst();
remaining -= buffer.length - _offset;
_offset = 0;
continue;
}
// Remove part of the buffer
_offset += remaining;
remaining -= remaining;
}
assert(
remaining == 0,
'Should have removed all the data, but $remaining remain',
);
}