pub trait EntityPlacer<S, M>: Send + Debugwhere
S: PlanningSolution,
M: Move<S>,{
// Required method
fn get_placements<D: Director<S>>(
&self,
score_director: &D,
) -> Vec<Placement<S, M>>;
// Provided method
fn get_next_placement<D, IsCompleted>(
&self,
score_director: &D,
is_completed: IsCompleted,
) -> Option<(Placement<S, M>, u64)>
where D: Director<S>,
IsCompleted: FnMut(usize, usize) -> 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 Methods§
Provided Methods§
fn get_next_placement<D, IsCompleted>( &self, score_director: &D, is_completed: IsCompleted, ) -> Option<(Placement<S, M>, u64)>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.