| Index: packages/quiver_iterables/lib/src/generating_iterable.dart
|
| diff --git a/packages/quiver/lib/src/iterables/generating_iterable.dart b/packages/quiver_iterables/lib/src/generating_iterable.dart
|
| similarity index 58%
|
| copy from packages/quiver/lib/src/iterables/generating_iterable.dart
|
| copy to packages/quiver_iterables/lib/src/generating_iterable.dart
|
| index d11d19823d92e94cade3f1925a88fec48bb464bc..13041a66f621132a4e9db2952182b5f036f2f121 100644
|
| --- a/packages/quiver/lib/src/iterables/generating_iterable.dart
|
| +++ b/packages/quiver_iterables/lib/src/generating_iterable.dart
|
| @@ -16,37 +16,31 @@ part of quiver.iterables;
|
|
|
| Iterable generate(initial(), next(o)) => new GeneratingIterable(initial, next);
|
|
|
| -/**
|
| - * An Iterable who's first value is [object] and who's subsequent values are
|
| - * generated by passing the current value to the [next] function.
|
| - *
|
| - * The class is useful for creating lazy iterables from object hierarchies and
|
| - * graphs.
|
| - *
|
| - * It's important that for the given initial value and next function that the
|
| - * sequence of items eventually terminates. Otherwise calling methods that
|
| - * expect a finite sequence, like `length` or `last`, will cause an infinite
|
| - * loop.
|
| - *
|
| - * Example:
|
| - *
|
| - * class Node {
|
| - * Node parent;
|
| - *
|
| - * /**
|
| - * * An iterable of node and all ancestors up to the root.
|
| - * */
|
| - * Iterable<Node> ancestors =
|
| - * new GeneratingIterable<Node>(() => this, (n) => n.parent);
|
| - *
|
| - * /**
|
| - * * An iterable of the root and the path of nodes to this. The reverse
|
| - * * of ancestors.
|
| - * */
|
| - * Iterable<Node> path = ancestors.toList().reversed();
|
| - * }
|
| - *
|
| - */
|
| +/// An Iterable who's first value is [object] and who's subsequent values are
|
| +/// generated by passing the current value to the [next] function.
|
| +///
|
| +/// The class is useful for creating lazy iterables from object hierarchies and
|
| +/// graphs.
|
| +///
|
| +/// It's important that for the given initial value and next function that the
|
| +/// sequence of items eventually terminates. Otherwise calling methods that
|
| +/// expect a finite sequence, like `length` or `last`, will cause an infinite
|
| +/// loop.
|
| +///
|
| +/// Example:
|
| +///
|
| +/// class Node {
|
| +/// Node parent;
|
| +///
|
| +/// /// An iterable of node and all ancestors up to the root.
|
| +/// Iterable<Node> ancestors =
|
| +/// new GeneratingIterable<Node>(() => this, (n) => n.parent);
|
| +///
|
| +/// /// An iterable of the root and the path of nodes to this. The
|
| +/// /// reverse of ancestors.
|
| +/// Iterable<Node> path = ancestors.toList().reversed();
|
| +/// }
|
| +///
|
| class GeneratingIterable<T> extends IterableBase<T> {
|
| final initial;
|
| final next;
|
|
|