followedBy method

Iterable<E> followedBy (Iterable<E> other)

Returns the lazy concatentation of this iterable and other.

The returned iterable will provide the same elements as this iterable, and, after that, the elements of other, in the same order as in the original iterables.


Iterable<E> followedBy(Iterable<E> other) {
  // Type workaround because IterableMixin<E> doesn't promote
  // to EfficientLengthIterable<E>.
  Iterable<E> self = this;
  if (self is EfficientLengthIterable<E>) {
    return new FollowedByIterable<E>.firstEfficient(self, other);
  return new FollowedByIterable<E>(this, other);