Returns a lazy iterable of the leading elements satisfying test
.
The filtering happens lazily. Every new iterator of the returned
iterable starts iterating over the elements of this
.
The elements can be computed by stepping through iterator until an
element is found where test(element)
is false. At that point,
the returned iterable stops (its moveNext()
returns false).
Iterable<E> takeWhile(bool test(E value)) {
return new TakeWhileIterable<E>(this, test);
}