diff options
author | Sean McDirmid <sean.mcdirmid@gmail.com> | 2007-02-27 11:17:15 +0000 |
---|---|---|
committer | Sean McDirmid <sean.mcdirmid@gmail.com> | 2007-02-27 11:17:15 +0000 |
commit | afbcca7ccf7d0dccd05eb1b0612e74e7f8335c25 (patch) | |
tree | 42ab74b48343a1914fb7157e57bf5164ea07b3ba /src/library | |
parent | 8cd3a8fcd5bab2acf77f246519a9a71727710d7e (diff) | |
download | scala-afbcca7ccf7d0dccd05eb1b0612e74e7f8335c25.tar.gz scala-afbcca7ccf7d0dccd05eb1b0612e74e7f8335c25.tar.bz2 scala-afbcca7ccf7d0dccd05eb1b0612e74e7f8335c25.zip |
Added case to the Empty object.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/immutable/ImmutableIterator.scala | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/library/scala/collection/immutable/ImmutableIterator.scala b/src/library/scala/collection/immutable/ImmutableIterator.scala index 745483d139..151e0726aa 100644 --- a/src/library/scala/collection/immutable/ImmutableIterator.scala +++ b/src/library/scala/collection/immutable/ImmutableIterator.scala @@ -6,15 +6,13 @@ ** |/ ** \* */ +package scala.collection.immutable; // $Id$ -package scala.collection.immutable - /** An object for creating immutable iterators. */ object ImmutableIterator { - - object Empty extends ImmutableIterator[Nothing] { + case object Empty extends ImmutableIterator[Nothing] { def hasNext = false def next = throw new NoSuchElementException } @@ -32,22 +30,14 @@ object ImmutableIterator { def apply[A](item : A) : ImmutableIterator[A] = NonEmpty(item, () => Empty); /** Prepends a lazy immutable iterator (right) with an element (item). */ - def apply[A](item : A, right : () => ImmutableIterator[A]) : () => ImmutableIterator[A] = () => NonEmpty(item, right) - - /** Appends an immutable iterator (left) with an element (item) followed - * by a lazy immutable iterator (right). - * - * @param left ... - * @param item ... - * @param right ... - * @return ... - */ - def apply[A](left: ImmutableIterator[A], item: A, right: () => ImmutableIterator[A]) : ImmutableIterator[A] = left match { - case Empty => - NonEmpty(item, right) - case NonEmpty(first, middle) => - val rest = NonEmpty(item,right) - NonEmpty(first, apply(middle, () => rest)) + def apply[A](item : A, right : () => ImmutableIterator[A]) : () => ImmutableIterator[A] = () => NonEmpty(item, right); + /** Appends an immutable iterator (left) with an element (item) followed by a lazy immutable iterator (right). + */ + def apply[A](left : ImmutableIterator[A], item : A, right : () => ImmutableIterator[A]) : ImmutableIterator[A] = left match { + case NonEmpty(first, middle) => + val rest = NonEmpty(item,right); + NonEmpty(first, apply(middle, () => rest)); + case Empty => NonEmpty(item, right); } /** Concats a lazy immutable iterator (left) with another lazy immutable |