removeRange method

  1. @override
void removeRange(
  1. int start,
  2. int end
)
override

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;
    }
  }
}