pub trait Search<S, V = usize, DM = DefaultCrossEntityDistanceMeter, IDM = DefaultCrossEntityDistanceMeter>where
S: PlanningSolution + 'static,
S::Score: Score + ParseableScore,
V: Clone + Copy + PartialEq + Eq + Hash + Into<usize> + Send + Sync + Debug + 'static,
DM: CrossEntityDistanceMeter<S> + Clone + Debug + Send + 'static,
IDM: CrossEntityDistanceMeter<S> + Clone + Debug + Send + 'static,{
type Extensions: RuntimeExtensionRegistry<S, V, DM, IDM>;
}Expand description
Typed search authoring declaration consumed by the configured runtime.
Implementations declare one descriptor-resolved runtime model and one concrete typed-extension registry. The configured runner is the sole owner of graph compilation and per-solve phase preparation.
Required Associated Types§
Sourcetype Extensions: RuntimeExtensionRegistry<S, V, DM, IDM>
type Extensions: RuntimeExtensionRegistry<S, V, DM, IDM>
Concrete typed extension registry transferred with this declaration.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".