pub trait EntityPlacerCursor<S, M>where
S: PlanningSolution,
M: Move<S>,{
type CandidateCursor: MoveCursor<S, M>;
// Required method
fn next_placement<D, IsCompleted, ShouldStop>(
&mut self,
score_director: &D,
is_completed: IsCompleted,
should_stop: ShouldStop,
) -> Option<Placement<S, M, Self::CandidateCursor>>
where D: Director<S>,
IsCompleted: FnMut(&Placement<S, M, Self::CandidateCursor>) -> bool,
ShouldStop: FnMut() -> bool;
}Expand description
Trait for placing entities during construction.
Entity placers iterate over uninitialized entities and generate candidate moves for each.
§Type Parameters
S- The planning solution typeM- The move type
Required Associated Types§
type CandidateCursor: MoveCursor<S, M>
Required Methods§
fn next_placement<D, IsCompleted, ShouldStop>( &mut self, score_director: &D, is_completed: IsCompleted, should_stop: ShouldStop, ) -> Option<Placement<S, M, Self::CandidateCursor>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".