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)
21where
22 S: PlanningSolution,
23 D: Director<S>,
24 BestCb: BestSolutionCallback<S>,
25 Prev: Phase<S, D, BestCb>,
26 P: Phase<S, D, BestCb>,
27{
28 fn solve(&mut self, solver_scope: &mut SolverScope<'_, S, D, BestCb>) {
29 self.0.solve(solver_scope);
30 self.1.solve(solver_scope);
31 }
32
33 fn phase_type_name(&self) -> &'static str {
34 "PhaseTuple"
35 }
36}