removeRange method
Removes the indices that are >= start
and < end
.
Implementation
@override
void removeRange(int start, int end) {
final count = end - start;
// Remove old indices.
final oldIndices = List.generate(count, (i) => start + i).toSet();
indices.removeWhere(oldIndices.contains);
// Offset indices after deletion point.
for (var i = 0; i < indices.length; i++) {
if (indices[i] >= end) {
indices[i] -= count;
}
}
}