pub struct Treatment { /* private fields */ }Implementations§
Source§impl Treatment
impl Treatment
pub fn new( descriptor: &Arc<TreatmentDescriptor>, collection: Arc<Collection>, design_reference: Option<Arc<dyn Reference>>, ) -> Arc<RwLock<Self>>
pub fn collection(&self) -> &Arc<Collection>
pub fn descriptor(&self) -> Arc<TreatmentDescriptor>
pub fn design_reference(&self) -> &Option<Arc<dyn Reference>>
pub fn import_design( &mut self, design: &TreatmentDesign, replace: &HashMap<Identifier, Identifier>, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn add_model_instanciation( &mut self, model_identifier: &IdentifierRequirement, name: &str, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<Arc<RwLock<ModelInstanciation>>>
pub fn rename_model_instanciation( &mut self, actual_name: &str, new_name: &str, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_model_instanciation(&mut self, name: &str) -> LogicResult<bool>
pub fn add_treatment( &mut self, treatment_identifier: &IdentifierRequirement, name: &str, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<Arc<RwLock<TreatmentInstanciation>>>
pub fn rename_treatment( &mut self, actual_name: &str, new_name: &str, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_treatment(&mut self, name: &str) -> LogicResult<bool>
pub fn add_connection( &mut self, output_treatment: &str, output_name: &str, input_treatment: &str, input_name: &str, attributes: Attributes, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_connection( &mut self, output_treatment: &str, output_name: &str, input_treatment: &str, input_name: &str, ) -> LogicResult<bool>
pub fn add_self_connection( &mut self, self_input_name: &str, self_output_name: &str, attributes: Attributes, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_self_connection( &mut self, self_input_name: &str, self_output_name: &str, ) -> LogicResult<bool>
pub fn add_input_connection( &mut self, self_input_name: &str, input_treatment: &str, input_name: &str, attributes: Attributes, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_input_connection( &mut self, self_input_name: &str, input_treatment: &str, input_name: &str, ) -> LogicResult<bool>
pub fn add_output_connection( &mut self, self_output_name: &str, output_treatment: &str, output_name: &str, attributes: Attributes, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<()>
pub fn remove_output_connection( &mut self, self_output_name: &str, output_treatment: &str, output_name: &str, ) -> LogicResult<bool>
pub fn model_instanciations( &self, ) -> &HashMap<String, Arc<RwLock<ModelInstanciation>>>
pub fn treatments( &self, ) -> &HashMap<String, Arc<RwLock<TreatmentInstanciation>>>
pub fn connections(&self) -> &Vec<Connection>
pub fn validate(&self) -> LogicResult<()>
pub fn make_use(&self, identifier: &Identifier) -> bool
pub fn uses(&self) -> Vec<Identifier>
pub fn unvalidated_design(&self) -> LogicResult<TreatmentDesign>
pub fn design(&self) -> LogicResult<TreatmentDesign>
Trait Implementations§
Source§impl GenericInstanciation for Treatment
impl GenericInstanciation for Treatment
fn generics(&self) -> RwLockReadGuard<'_, HashMap<String, DescribedType>>
fn set_generic( &mut self, _generic_name: String, _type: DescribedType, ) -> LogicResult<()>
Source§impl Scope for Treatment
impl Scope for Treatment
fn descriptor(&self) -> Arc<dyn Parameterized>
fn collection(&self) -> Arc<Collection>
fn identifier(&self) -> Identifier
Auto Trait Implementations§
impl Freeze for Treatment
impl !RefUnwindSafe for Treatment
impl Send for Treatment
impl Sync for Treatment
impl Unpin for Treatment
impl !UnwindSafe for Treatment
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.