@@ -9,7 +9,9 @@ import Stepper._
99 * `next` must update `i` but not `i0` so that later splitting steps can keep track of whether the
1010 * collection needs some sort of modification before transmission to the subclass.
1111 */
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+
1315 protected var i0 : Int = i
1416 def semiclone (halfHint : Int ): Semi // Must really do all the work for both this and cloned collection!
1517 def characteristics (): Int = Ordered
@@ -21,26 +23,22 @@ private[java8] abstract class AbstractStepsLikeSliced[Coll, Sub >: Null, Semi <:
2123private [java8] abstract class StepsLikeSliced [A , AA , STA >: Null <: StepsLikeSliced [A , AA , _]](_underlying : AA , _i0 : Int , _iN : Int )
2224 extends AbstractStepsLikeSliced [AA , AnyStepper [A ], STA ](_underlying, _i0, _iN)
2325 with AnyStepper [A ]
24- with EfficientSubstep
2526{}
2627
2728/** Abstracts the operation of stepping over a collection of Doubles that can be efficiently sliced or otherwise subdivided */
2829private [java8] abstract class StepsDoubleLikeSliced [AA , STA >: Null <: StepsDoubleLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
2930 extends AbstractStepsLikeSliced [AA , DoubleStepper , STA ](_underlying, _i0, _iN)
3031 with DoubleStepper
31- with EfficientSubstep
3232{}
3333
3434/** Abstracts the operation of stepping over a collection of Ints that can be efficiently sliced or otherwise subdivided */
3535private [java8] abstract class StepsIntLikeSliced [AA , STA >: Null <: StepsIntLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
3636 extends AbstractStepsLikeSliced [AA , IntStepper , STA ](_underlying, _i0, _iN)
3737 with IntStepper
38- with EfficientSubstep
3938{}
4039
4140/** Abstracts the operation of stepping over a collection of Longs that can be efficiently sliced or otherwise subdivided */
4241private [java8] abstract class StepsLongLikeSliced [AA , STA >: Null <: StepsLongLikeSliced [AA , STA ]](_underlying : AA , _i0 : Int , _iN : Int )
4342 extends AbstractStepsLikeSliced [AA , LongStepper , STA ](_underlying, _i0, _iN)
4443 with LongStepper
45- with EfficientSubstep
4644{}
0 commit comments