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::borrow::Cow;
9use std::fmt::Debug;
10use std::marker::PhantomData;
11
12use solverforge_core::domain::PlanningSolution;
13use solverforge_scoring::Director;
14
15use crate::heuristic::r#move::{ChangeMove, Move, MoveArena, SequentialCompositeMoveRef, SwapMove};
16
17use super::entity::{EntitySelector, FromSolutionEntitySelector};
18use super::value_selector::{StaticValueSelector, ValueSelector};
19
20mod scalar_union;
21
22include!("move_selector/borrowed.rs");
23include!("move_selector/iter.rs");
24include!("move_selector/change.rs");
25include!("move_selector/swap.rs");