remove method

void remove(
  1. dynamic interval
)

Removes an interval from this tree.

Implementation

void remove(dynamic interval) {
  final iv = _asInterval(interval);

  var it = _tree.fromIterator(iv!);
  while (it.movePrevious()) {
    final current = it.current;
    if (!_trySplit(it.current, iv)) break;
    it = _tree.fromIterator(current, inclusive: false);
  }

  it = _tree.fromIterator(iv, inclusive: false);
  while (it.moveNext()) {
    final current = it.current;
    if (!_trySplit(it.current, iv)) break;
    it = _tree.fromIterator(current, inclusive: false);
  }
}