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 Phase<D, ProgressCb>: Phase<S, D, ProgressCb> + Debug + Send
where D: Director<S>,
ProgressCb: ProgressCallback<S>;
// Required method
fn build<D, ProgressCb>(
self,
config: &SolverConfig,
) -> PhaseSequence<Self::Phase<D, ProgressCb>>
where D: Director<S>,
ProgressCb: ProgressCallback<S>;
}Required Associated Types§
type Phase<D, ProgressCb>: Phase<S, D, ProgressCb> + Debug + Send where D: Director<S>, ProgressCb: ProgressCallback<S>
Required Methods§
fn build<D, ProgressCb>(
self,
config: &SolverConfig,
) -> PhaseSequence<Self::Phase<D, ProgressCb>>where
D: Director<S>,
ProgressCb: ProgressCallback<S>,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".