Skip to main content

solverforge_solver/heuristic/selector/
move_selector.rs

1/* Zero-erasure move selectors for zero-erasure move generation.
2
3Selectors now expose cursor-owned storage plus borrowable candidates.
4The solver evaluates candidates by reference and only takes ownership of the
5selected move once the forager commits to an index.
6*/
7
8use std::fmt::Debug;
9use std::marker::PhantomData;
10
11use solverforge_core::domain::PlanningSolution;
12use solverforge_scoring::Director;
13
14use crate::heuristic::r#move::{ChangeMove, Move, MoveArena, SequentialCompositeMoveRef, SwapMove};
15
16use super::entity::{EntitySelector, FromSolutionEntitySelector};
17use super::value_selector::{StaticValueSelector, ValueSelector};
18
19mod scalar_union;
20
21include!("move_selector/borrowed.rs");
22include!("move_selector/iter.rs");
23include!("move_selector/change.rs");
24include!("move_selector/swap.rs");