@@ -9,7 +9,9 @@ import Stepper._
9
9
* `next` must update `i` but not `i0` so that later splitting steps can keep track of whether the
10
10
* collection needs some sort of modification before transmission to the subclass.
11
11
*/
12
- private [java8] abstract class AbstractStepsLikeSliced [Coll , Sub >: Null , Semi <: Sub ](protected var underlying : Coll , protected var i : Int , protected var iN : Int ) {
12
+ private [java8] abstract class AbstractStepsLikeSliced [Coll , Sub >: Null , Semi <: Sub ](protected var underlying : Coll , protected var i : Int , protected var iN : Int )
13
+ extends EfficientSubstep {
14
+
13
15
protected var i0 : Int = i
14
16
def semiclone (halfHint : Int ): Semi // Must really do all the work for both this and cloned collection!
15
17
def characteristics (): Int = Ordered
@@ -21,26 +23,22 @@ private[java8] abstract class AbstractStepsLikeSliced[Coll, Sub >: Null, Semi <:
21
23
private [java8] abstract class StepsLikeSliced [A , AA , STA >: Null <: StepsLikeSliced [A , AA , _]](_underlying : AA , _i0 : Int , _iN : Int )
22
24
extends AbstractStepsLikeSliced [AA , AnyStepper [A ], STA ](_underlying, _i0, _iN)
23
25
with AnyStepper [A ]
24
- with EfficientSubstep
25
26
{}
26
27
27
28
/** Abstracts the operation of stepping over a collection of Doubles that can be efficiently sliced or otherwise subdivided */
28
29
private [java8] abstract class StepsDoubleLikeSliced [AA , STA >: Null <: StepsDoubleLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
29
30
extends AbstractStepsLikeSliced [AA , DoubleStepper , STA ](_underlying, _i0, _iN)
30
31
with DoubleStepper
31
- with EfficientSubstep
32
32
{}
33
33
34
34
/** Abstracts the operation of stepping over a collection of Ints that can be efficiently sliced or otherwise subdivided */
35
35
private [java8] abstract class StepsIntLikeSliced [AA , STA >: Null <: StepsIntLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
36
36
extends AbstractStepsLikeSliced [AA , IntStepper , STA ](_underlying, _i0, _iN)
37
37
with IntStepper
38
- with EfficientSubstep
39
38
{}
40
39
41
40
/** Abstracts the operation of stepping over a collection of Longs that can be efficiently sliced or otherwise subdivided */
42
41
private [java8] abstract class StepsLongLikeSliced [AA , STA >: Null <: StepsLongLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
43
42
extends AbstractStepsLikeSliced [AA , LongStepper , STA ](_underlying, _i0, _iN)
44
43
with LongStepper
45
- with EfficientSubstep
46
44
{}
0 commit comments