EntityPlacer

Trait EntityPlacer 

Source
pub trait EntityPlacer<S, M>: Send + Debug
where S: PlanningSolution, M: Move<S>,
{ // Required method fn get_placements<D: ScoreDirector<S>>( &self, score_director: &D, ) -> Vec<Placement<S, M>>; }
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 type
  • M - The move type

Required Methods§

Source

fn get_placements<D: ScoreDirector<S>>( &self, score_director: &D, ) -> Vec<Placement<S, M>>

Returns all placements (entities + their candidate moves).

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.

Implementors§

Source§

impl<S, M, Inner> EntityPlacer<S, M> for SortedEntityPlacer<S, M, Inner>
where S: PlanningSolution, M: Move<S>, Inner: EntityPlacer<S, M>,

Source§

impl<S, V, ES, VS> EntityPlacer<S, ChangeMove<S, V>> for QueuedEntityPlacer<S, V, ES, VS>
where S: PlanningSolution, V: Clone + PartialEq + Send + Sync + Debug + 'static, ES: EntitySelector<S>, VS: TypedValueSelector<S, V>,