diff options
author | Martin Odersky <odersky@gmail.com> | 2010-05-10 15:52:25 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-05-10 15:52:25 +0000 |
commit | bfb49242b5ca6ffdd086364b33fa3f785254784d (patch) | |
tree | 8504ce3c0b60e1b8be5f29c8940f97e5ca24162e /src/library/scala/collection/IterableLike.scala | |
parent | db50a62b625d9685394557fad3a1a101c843df07 (diff) | |
download | scala-bfb49242b5ca6ffdd086364b33fa3f785254784d.tar.gz scala-bfb49242b5ca6ffdd086364b33fa3f785254784d.tar.bz2 scala-bfb49242b5ca6ffdd086364b33fa3f785254784d.zip |
Added sizeHints to operations where it made sense.
Diffstat (limited to 'src/library/scala/collection/IterableLike.scala')
-rw-r--r-- | src/library/scala/collection/IterableLike.scala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/library/scala/collection/IterableLike.scala b/src/library/scala/collection/IterableLike.scala index 0efc756b10..06909961ce 100644 --- a/src/library/scala/collection/IterableLike.scala +++ b/src/library/scala/collection/IterableLike.scala @@ -104,6 +104,7 @@ self => override /*TraversableLike*/ def take(n: Int): Repr = { val b = newBuilder + b.sizeHintBounded(n, this) var i = 0 val it = iterator while (i < n && it.hasNext) { @@ -115,6 +116,7 @@ self => override /*TraversableLike*/ def slice(from: Int, until: Int): Repr = { val b = newBuilder + b.sizeHintBounded(until - from, this) var i = from val it = iterator drop from while (i < until && it.hasNext) { @@ -176,6 +178,7 @@ self => */ def takeRight(n: Int): Repr = { val b = newBuilder + b.sizeHintBounded(n, this) val lead = this.iterator drop n var go = false for (x <- this) { @@ -195,6 +198,7 @@ self => */ def dropRight(n: Int): Repr = { val b = newBuilder + if (n >= 0) b.sizeHint(this, -n) val lead = iterator drop n val it = iterator while (lead.hasNext) { |