pub trait EntityExtractor: Send + Sync {
// Required methods
fn count(&self, solution: &dyn Any) -> Option<usize>;
fn get<'a>(
&self,
solution: &'a dyn Any,
index: usize,
) -> Option<&'a dyn Any>;
fn get_mut<'a>(
&self,
solution: &'a mut dyn Any,
index: usize,
) -> Option<&'a mut dyn Any>;
fn entity_refs(&self, solution: &dyn Any) -> Vec<EntityRef>;
fn clone_box(&self) -> Box<dyn EntityExtractor>;
fn clone_entity_boxed(
&self,
solution: &dyn Any,
index: usize,
) -> Option<Box<dyn Any + Send + Sync>>;
fn entity_type_id(&self) -> TypeId;
}Expand description
Trait for extracting entities from a planning solution.
This trait is implemented by closures/functions that can extract entity references from a solution of a specific type.