Skip to main content

solverforge_solver/builder/
context.rs

1mod candidate_metric;
2mod conflict_repair;
3mod list;
4pub(crate) mod list_access;
5mod model;
6mod model_resolution;
7mod provider;
8mod runtime_list;
9mod runtime_list_binding;
10mod runtime_list_debug;
11mod runtime_list_metadata_policy;
12mod runtime_list_policy;
13mod runtime_list_route;
14mod runtime_list_route_policy;
15mod runtime_list_source;
16mod scalar;
17mod scalar_access;
18
19#[cfg(test)]
20mod runtime_list_distance_tests;
21#[cfg(test)]
22mod runtime_list_dynamic_precedence_tests;
23#[cfg(test)]
24mod runtime_list_metric_policy_tests;
25#[cfg(test)]
26mod runtime_list_route_tests;
27
28pub use candidate_metric::{
29    RuntimeCandidateMetric, RuntimeCandidateMetricBinding, RuntimeCandidateMetricRegistry,
30};
31pub use conflict_repair::{ConflictRepair, RepairCandidate, RepairLimits, RepairProvider};
32pub use list::{usize_element_source_key, IntraDistanceAdapter, ListVariableSlot};
33pub use model::{RuntimeModel, VariableSlot};
34pub use provider::{
35    ProviderNormalizationState, ProviderReasonArena, ProviderReasonId, ProviderResolutionError,
36    RawProviderCandidate, RawProviderEdit, ResolvedProviderCandidate, ResolvedProviderEdit,
37    RuntimeConflictRepairProviderBinding, RuntimeHostCompoundProvider,
38    RuntimeHostProviderErrorBoundary, RuntimeProviderHandle, RuntimeProviderLimits,
39    RuntimeProviderRegistry, RuntimeProviderSlotResolver, RuntimeScalarGroupProviderBinding,
40    StaticConflictRepairProviderBinding, StaticScalarGroupProviderBinding,
41};
42pub(crate) use runtime_list::{RuntimeListElement, RuntimeListSlot};
43pub(crate) use runtime_list_policy::{
44    ConstructionOrderPolicy, OwnershipPolicy, PrecedencePolicy, RouteFeasibilityPolicy,
45    RouteReadPolicy, RouteReplacePolicy, SavingsMetricClassPolicy,
46};
47pub(crate) use runtime_list_source::{
48    bind_runtime_list_source, unassigned_from_current_assignment, ListConstructionKernelError,
49    ListSourceAccess, RuntimeListSourceIndex, SourceElement,
50};
51pub use scalar::{
52    bind_scalar_groups, ConstructionEntityOrderKey, ConstructionValueOrderKey,
53    NearbyEntityDistanceMeter, NearbyValueDistanceMeter, ScalarAssignmentBinding, ScalarCandidate,
54    ScalarCandidateProvider, ScalarCandidateValues, ScalarEdit, ScalarGetter, ScalarGroupBinding,
55    ScalarGroupBindingKind, ScalarGroupLimits, ScalarGroupMemberBinding, ScalarSetter,
56    ScalarVariableSlot, ValueSource,
57};
58pub use scalar_access::{
59    RuntimeScalarEdit, RuntimeScalarSlot, RuntimeScalarSlotId, ScalarAccessCapability,
60};