pub trait MoveCursor<S: PlanningSolution, M: Move<S>> {
// Required methods
fn next_candidate(&mut self) -> Option<CandidateId>;
fn candidate(&self, id: CandidateId) -> Option<MoveCandidateRef<'_, S, M>>;
fn take_candidate(&mut self, id: CandidateId) -> M;
// Provided method
fn selector_index(&self, _id: CandidateId) -> Option<usize> { ... }
}Required Methods§
fn next_candidate(&mut self) -> Option<CandidateId>
fn candidate(&self, id: CandidateId) -> Option<MoveCandidateRef<'_, S, M>>
fn take_candidate(&mut self, id: CandidateId) -> M
Provided Methods§
fn selector_index(&self, _id: CandidateId) -> Option<usize>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".