pub struct EntityDescriptor {
pub type_name: &'static str,
pub type_id: TypeId,
pub solution_field: &'static str,
pub is_collection: bool,
pub variable_descriptors: Vec<VariableDescriptor>,
pub extractor: Option<Box<dyn EntityExtractor>>,
pub id_field: Option<&'static str>,
pub pin_field: Option<&'static str>,
}Expand description
Describes a planning entity type at runtime.
Fields§
§type_name: &'static str§type_id: TypeId§solution_field: &'static str§is_collection: bool§variable_descriptors: Vec<VariableDescriptor>§extractor: Option<Box<dyn EntityExtractor>>§id_field: Option<&'static str>§pin_field: Option<&'static str>Implementations§
Source§impl EntityDescriptor
impl EntityDescriptor
pub fn new( type_name: &'static str, type_id: TypeId, solution_field: &'static str, ) -> Self
pub fn with_extractor(self, extractor: Box<dyn EntityExtractor>) -> Self
pub fn with_variable(self, descriptor: VariableDescriptor) -> Self
pub fn with_id_field(self, field: &'static str) -> Self
pub fn with_pin_field(self, field: &'static str) -> Self
pub fn genuine_variable_descriptors( &self, ) -> impl Iterator<Item = &VariableDescriptor>
pub fn shadow_variable_descriptors( &self, ) -> impl Iterator<Item = &VariableDescriptor>
pub fn find_variable(&self, name: &str) -> Option<&VariableDescriptor>
pub fn has_genuine_variables(&self) -> bool
pub fn has_extractor(&self) -> bool
pub fn entity_count(&self, solution: &dyn Any) -> Option<usize>
pub fn get_entity<'a>( &self, solution: &'a dyn Any, index: usize, ) -> Option<&'a dyn Any>
pub fn get_entity_mut<'a>( &self, solution: &'a mut dyn Any, index: usize, ) -> Option<&'a mut dyn Any>
pub fn entity_refs(&self, solution: &dyn Any) -> Vec<EntityRef>
pub fn for_each_entity<F>(&self, solution: &dyn Any, f: F) -> Option<()>
pub fn for_each_entity_mut<F>(&self, solution: &mut dyn Any, f: F) -> Option<()>
Trait Implementations§
Source§impl Clone for EntityDescriptor
impl Clone for EntityDescriptor
Auto Trait Implementations§
impl Freeze for EntityDescriptor
impl !RefUnwindSafe for EntityDescriptor
impl Send for EntityDescriptor
impl Sync for EntityDescriptor
impl Unpin for EntityDescriptor
impl UnsafeUnpin for EntityDescriptor
impl !UnwindSafe for EntityDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more