diff options
author | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-01 18:24:50 +0100 |
---|---|---|
committer | Aleksandar Prokopec <axel22@gmail.com> | 2012-02-01 18:24:50 +0100 |
commit | 8aa87f15e3887dbeb1a39bfea002b56cf68c445a (patch) | |
tree | eb76514b57160e1b7cbd2df0e009cbcdc2a5f922 /src/library/scala/collection/parallel/immutable/package.scala | |
parent | fe289dc0fd8172012e4d57d09658e2dfd0a4cdcf (diff) | |
download | scala-8aa87f15e3887dbeb1a39bfea002b56cf68c445a.tar.gz scala-8aa87f15e3887dbeb1a39bfea002b56cf68c445a.tar.bz2 scala-8aa87f15e3887dbeb1a39bfea002b56cf68c445a.zip |
Remove ParIterator and SignalContextPassingIterator.
This unclutters the namespace and makes defining custom parallel
collections a lot easier.
Diffstat (limited to 'src/library/scala/collection/parallel/immutable/package.scala')
-rw-r--r-- | src/library/scala/collection/parallel/immutable/package.scala | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/library/scala/collection/parallel/immutable/package.scala b/src/library/scala/collection/parallel/immutable/package.scala index 7b1e39d092..63635537d7 100644 --- a/src/library/scala/collection/parallel/immutable/package.scala +++ b/src/library/scala/collection/parallel/immutable/package.scala @@ -22,23 +22,19 @@ package immutable { override def seq = throw new UnsupportedOperationException def update(idx: Int, elem: T) = throw new UnsupportedOperationException - type SCPI = SignalContextPassingIterator[ParIterator] - - class ParIterator(var i: Int = 0, val until: Int = length, elem: T = self.elem) extends super.ParIterator { - me: SignalContextPassingIterator[ParIterator] => - + class ParIterator(var i: Int = 0, val until: Int = length, elem: T = self.elem) extends SeqSplitter[T] { def remaining = until - i def hasNext = i < until def next = { i += 1; elem } - def dup = new ParIterator(i, until, elem) with SCPI + def dup = new ParIterator(i, until, elem) def psplit(sizes: Int*) = { val incr = sizes.scanLeft(0)(_ + _) - for ((start, end) <- incr.init zip incr.tail) yield new ParIterator(i + start, (i + end) min until, elem) with SCPI + for ((start, end) <- incr.init zip incr.tail) yield new ParIterator(i + start, (i + end) min until, elem) } def split = psplit(remaining / 2, remaining - remaining / 2) } - def splitter = new ParIterator with SCPI + def splitter = new ParIterator } } |