summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/SeqViewLike.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2009-12-22 14:00:58 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2009-12-22 14:00:58 +0000
commit3a0713b4e092cd768d748ca078ab40cc32068fec (patch)
treef09584753d9feaa5f99125a435f1be9ca90d1a69 /src/library/scala/collection/SeqViewLike.scala
parentff1ecb531615bf12dcbe21fe1bbd0d066023cc36 (diff)
downloadscala-3a0713b4e092cd768d748ca078ab40cc32068fec.tar.gz
scala-3a0713b4e092cd768d748ca078ab40cc32068fec.tar.bz2
scala-3a0713b4e092cd768d748ca078ab40cc32068fec.zip
fixed #2548 - reverse, reverseIterator for view...
fixed #2548 - reverse, reverseIterator for views bug. Also - reverseMap for views now should work. review by phaller.
Diffstat (limited to 'src/library/scala/collection/SeqViewLike.scala')
-rw-r--r--src/library/scala/collection/SeqViewLike.scala11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/library/scala/collection/SeqViewLike.scala b/src/library/scala/collection/SeqViewLike.scala
index 66345ed311..1a8cd20013 100644
--- a/src/library/scala/collection/SeqViewLike.scala
+++ b/src/library/scala/collection/SeqViewLike.scala
@@ -117,10 +117,16 @@ trait SeqViewLike[+A,
}
trait Reversed extends Transformed[A] {
- override def iterator: Iterator[A] = self.reverseIterator
+ override def iterator: Iterator[A] = createReversedIterator
override def length: Int = self.length
override def apply(idx: Int): A = self.apply(length - 1 - idx)
override def stringPrefix = self.stringPrefix+"R"
+
+ private def createReversedIterator = {
+ var lst = List[A]()
+ for (elem <- self) lst ::= elem
+ lst.iterator
+ }
}
trait Patched[B >: A] extends Transformed[B] {
@@ -166,6 +172,9 @@ trait SeqViewLike[+A,
override def padTo[B >: A, That](len: Int, elem: B)(implicit bf: CanBuildFrom[This, B, That]): That =
patch(length, fill(len - length)(elem), 0)
+ override def reverseMap[B, That](f: A => B)(implicit bf: CanBuildFrom[This, B, That]): That =
+ reverse.map(f)
+
override def stringPrefix = "SeqView"
}