OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart.core; | 5 part of dart.core; |
6 | 6 |
7 /** | 7 /** |
8 * A collection of values, or "elements", that can be accessed sequentially. | 8 * A collection of values, or "elements", that can be accessed sequentially. |
9 * | 9 * |
10 * The elements of the iterable are accessed by getting an [Iterator] | 10 * The elements of the iterable are accessed by getting an [Iterator] |
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 /** | 427 /** |
428 * Returns an Iterable that skips leading elements while [test] is satisfied. | 428 * Returns an Iterable that skips leading elements while [test] is satisfied. |
429 * | 429 * |
430 * The filtering happens lazily. Every new Iterator of the returned | 430 * The filtering happens lazily. Every new Iterator of the returned |
431 * Iterable iterates over all elements of `this`. | 431 * Iterable iterates over all elements of `this`. |
432 * | 432 * |
433 * The returned iterable provides elements by iterating this iterable, | 433 * The returned iterable provides elements by iterating this iterable, |
434 * but skipping over all initial elements where `test(element)` returns | 434 * but skipping over all initial elements where `test(element)` returns |
435 * true. If all elements satisfy `test` the resulting iterable is empty, | 435 * true. If all elements satisfy `test` the resulting iterable is empty, |
436 * otherwise it iterates the remaining elements in their original order, | 436 * otherwise it iterates the remaining elements in their original order, |
437 * starting with the first element for which `test(element)` returns false, | 437 * starting with the first element for which `test(element)` returns false. |
438 */ | 438 */ |
439 Iterable<E> skipWhile(bool test(E value)) { | 439 Iterable<E> skipWhile(bool test(E value)) { |
440 return new SkipWhileIterable<E>(this, test); | 440 return new SkipWhileIterable<E>(this, test); |
441 } | 441 } |
442 | 442 |
443 /** | 443 /** |
444 * Returns the first element. | 444 * Returns the first element. |
445 * | 445 * |
446 * Throws a [StateError] if `this` is empty. | 446 * Throws a [StateError] if `this` is empty. |
447 * Otherwise returns the first element in the iteration order, | 447 * Otherwise returns the first element in the iteration order, |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 */ | 673 */ |
674 abstract class BidirectionalIterator<E> implements Iterator<E> { | 674 abstract class BidirectionalIterator<E> implements Iterator<E> { |
675 /** | 675 /** |
676 * Move back to the previous element. | 676 * Move back to the previous element. |
677 * | 677 * |
678 * Returns true and updates [current] if successful. Returns false | 678 * Returns true and updates [current] if successful. Returns false |
679 * and sets [current] to null if there is no previous element. | 679 * and sets [current] to null if there is no previous element. |
680 */ | 680 */ |
681 bool movePrevious(); | 681 bool movePrevious(); |
682 } | 682 } |
OLD | NEW |