zipWithNext property

Iterable<Pair<E, E>> zipWithNext

Returns a Iterable of pairs of each two adjacent elements in this collection.

Implementation

Iterable<Pair<E, E>> get zipWithNext {
  final iterator1 = iterator;
  final iterator2 = iterator..moveNext();

  return Iterable.generate(
    length - 1,
    (index) => Pair(
      (iterator1..moveNext()).current,
      (iterator2..moveNext()).current,
    ),
  );
}