pub struct Model<I, O, C>{ /* private fields */ }Implementations§
Source§impl<I, O, C> Model<I, O, C>
impl<I, O, C> Model<I, O, C>
pub fn id(&self) -> u64
pub fn description(&self) -> &str
pub fn assumptions(&self) -> Option<&Arc<Vec<Assumption>>>
Sourcepub fn causaloid(&self) -> &Arc<Causaloid<I, O, (), Arc<RwLock<C>>>>
pub fn causaloid(&self) -> &Arc<Causaloid<I, O, (), Arc<RwLock<C>>>>
Returns a reference to the root Causaloid of the model.
The Causaloid encapsulates the core causal logic of the model.
pub fn context(&self) -> Option<&Arc<RwLock<C>>>
Source§impl<I, O, D, S, T, ST, SYM, VS, VT> Model<I, O, Context<D, S, T, ST, SYM, VS, VT>>
impl<I, O, D, S, T, ST, SYM, VS, VT> Model<I, O, Context<D, S, T, ST, SYM, VS, VT>>
Sourcepub fn evolve(
&self,
op_tree: &OpTree<I, O, Context<D, S, T, ST, SYM, VS, VT>, Contextoid<D, S, T, ST, SYM, VS, VT>>,
) -> Result<(Self, ModificationLog), ModelValidationError>
pub fn evolve( &self, op_tree: &OpTree<I, O, Context<D, S, T, ST, SYM, VS, VT>, Contextoid<D, S, T, ST, SYM, VS, VT>>, ) -> Result<(Self, ModificationLog), ModelValidationError>
Evolves the model by applying a sequence of operations defined in an OpTree.
This method uses the HKT-based Interpreter to execute the operations
and returns a new Model instance reflecting the changes, along with a log of modifications.
Trait Implementations§
Source§impl<I, O, C> Identifiable for Model<I, O, C>
impl<I, O, C> Identifiable for Model<I, O, C>
Source§impl<I, O, C> Transferable for Model<I, O, C>
impl<I, O, C> Transferable for Model<I, O, C>
fn get_assumptions(&self) -> &Option<Arc<Vec<Assumption>>>
Source§fn verify_assumptions(
&self,
effect: &[PropagatingEffect<f64>],
) -> Result<(), AssumptionError>
fn verify_assumptions( &self, effect: &[PropagatingEffect<f64>], ) -> Result<(), AssumptionError>
Verifies the model’s assumptions against a given PropagatingEffect. Read more
Auto Trait Implementations§
impl<I, O, C> Freeze for Model<I, O, C>
impl<I, O, C> RefUnwindSafe for Model<I, O, C>where
I: RefUnwindSafe,
O: RefUnwindSafe,
impl<I, O, C> Send for Model<I, O, C>
impl<I, O, C> Sync for Model<I, O, C>
impl<I, O, C> Unpin for Model<I, O, C>
impl<I, O, C> UnwindSafe for Model<I, O, C>where
I: RefUnwindSafe,
O: RefUnwindSafe,
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