Class BiMoveStream<Solution_,A,B>
java.lang.Object
ai.timefold.solver.core.impl.neighborhood.stream.BiMoveStream<Solution_,A,B>
- Type Parameters:
Solution_-A-B-
- All Implemented Interfaces:
InnerMoveStream<Solution_>,MoveStream<Solution_>
@NullMarked
public final class BiMoveStream<Solution_,A,B>
extends Object
implements InnerMoveStream<Solution_>
Accepts two datasets (
left and right),
coming from two enumerating streams,
and provides Move iterators based on the join and filtering of those datasets.
The merged iterators provide moves constructed by a move constructor,
which accepts instances of type A and B.
There are two types of iterators:
Original order iterators, which iterate through all possible combinations of A and B in the original order.Random order iterators, which pick A and B randomly.
-
Constructor Summary
ConstructorsConstructorDescriptionBiMoveStream(UniLeftDataset<Solution_, A> leftDataset, UniRightDataset<Solution_, A, B> rightDataset, BiMoveConstructor<Solution_, A, B> moveConstructor) -
Method Summary
-
Constructor Details
-
BiMoveStream
public BiMoveStream(UniLeftDataset<Solution_, A> leftDataset, UniRightDataset<Solution_, A, B> rightDataset, BiMoveConstructor<Solution_, A, B> moveConstructor)
-
-
Method Details
-
getMoveIterable
- Specified by:
getMoveIterablein interfaceInnerMoveStream<Solution_>- Specified by:
getMoveIterablein interfaceMoveStream<Solution_>
-