operator []= method

  1. @override
void operator []=(
  1. int index,
  2. bool value
)
override

Sets the value at the given index in the list to value.

The index must be a valid index of this list, which means that index must be non-negative and less than length.

Implementation

@override
void operator []=(int index, bool value) {
  if (index < 0 || index >= length) {
    throw RangeError(index);
  }

  final slot = index ~/ 30;
  final position = slot * 30;
  final mask = 1 << (index - position);

  if (value) {
    _list[slot] |= mask;
  } else {
    _list[slot] &= 0x3fffffff ^ mask;
  }
}