operator [] method

  1. @override
bool operator [](
  1. int index
)
override

Whether the value specified by the index is member of the collection.

Implementation

@override
bool operator [](int index) {
  var left = 0;
  var right = (_list.length >> 1) - 1;
  while (left <= right) {
    final mid = (left + right) >> 1;
    final midIndex = mid << 1;
    final start = _list[midIndex];
    final end = start + _list[midIndex + 1];
    if (end < index) {
      left = mid + 1;
    } else if (start > index) {
      right = mid - 1;
    } else {
      return true;
    }
  }
  return false;
}