values property

Iterable<T> get values

All values in ascending order. Audited: 2026-06-12 11:26 EDT

Implementation

Iterable<T> get values sync* {
  // forward always has level 0, so firstOrNull yields the level-0 link
  // (never the empty-list null, only a genuine "no successor" null).
  _SkipNode<T>? node = _head.forward.firstOrNull;
  while (node != null) {
    yield node.value;
    // firstOrNull is the level-0 successor link; node is reassigned every
    // iteration, so this is a genuine list walk to the next node.
    node = node.forward.firstOrNull;
  }
}