solverforge_solver/phase/
tuple_impl.rs1use solverforge_core::domain::PlanningSolution;
4use solverforge_scoring::Director;
5
6use crate::scope::BestSolutionCallback;
7use crate::scope::SolverScope;
8
9use super::Phase;
10
11impl<S, D, BestCb, Prev, P> Phase<S, D, BestCb> for (Prev, P)
20where
21 S: PlanningSolution,
22 D: Director<S>,
23 BestCb: BestSolutionCallback<S>,
24 Prev: Phase<S, D, BestCb>,
25 P: Phase<S, D, BestCb>,
26{
27 fn solve(&mut self, solver_scope: &mut SolverScope<'_, S, D, BestCb>) {
28 self.0.solve(solver_scope);
29 self.1.solve(solver_scope);
30 }
31
32 fn phase_type_name(&self) -> &'static str {
33 "PhaseTuple"
34 }
35}