description

# remove method Null safety

bool remove (

1. Object? o

)
override

Remove a single instance of `value` from the queue.

Returns `true` if a value was removed, or `false` if the queue contained no element equal to `value`.

## Implementation

    bool remove(Object? o) {
      _DoubleLinkedQueueEntry<E> entry =
          _sentinel._nextLink as _DoubleLinkedQueueEntry<E>;
      while (!identical(entry, _sentinel)) {
        bool equals = (entry._element == o);
        if (!identical(this, entry._queue)) {
          // Entry must still be in the queue.
          throw ConcurrentModificationError(this);
        }
        if (equals) {
          entry._remove();
          _elementCount--;
          return true;
        }
        entry = entry._nextLink as _DoubleLinkedQueueEntry<E>;
      }
      return false;
    }