Skip to main content

solverforge_solver/builder/
mod.rs

1/* Builder module for constructing solver components from configuration.
2
3Provides wiring between `SolverConfig` and the actual solver types.
4All builders return concrete monomorphized enums — no `Box<dyn Trait>`.
5*/
6
7pub mod acceptor;
8pub mod context;
9pub mod forager;
10mod list_selector;
11mod scalar_selector;
12pub mod selector;
13
14pub use acceptor::{AcceptorBuilder, AnyAcceptor};
15pub use context::{
16    bind_coverage_groups, bind_scalar_groups, ConflictRepair, CoverageGroupBinding,
17    IntraDistanceAdapter, ListVariableSlot, RepairCandidate, RepairLimits, RuntimeModel,
18    ScalarCandidate, ScalarEdit, ScalarGroupBinding, ScalarGroupLimits, ScalarGroupMemberBinding,
19    ScalarVariableSlot, ValueSource, VariableSlot,
20};
21pub use forager::{AnyForager, ForagerBuilder};
22pub use selector::{
23    build_local_search, build_move_selector, build_vnd, LocalSearch, Neighborhood,
24    NeighborhoodLeaf, NeighborhoodMove, Selector, Vnd,
25};