pub struct Change { /* private fields */ }Expand description
Represents a change for an event in the multilinear system.
Implementations§
Source§impl Change
impl Change
Sourcepub fn condition(aspect: Aspect, value: usize) -> Self
pub fn condition(aspect: Aspect, value: usize) -> Self
Creates a new condition change of the specified aspect with value.
Examples found in repository?
examples/example.rs (line 22)
4fn main() {
5 let mut story = MultilinearInfo::new();
6
7 // Create aspects
8 let place = story.add_aspect();
9 let clothes = story.add_aspect();
10
11 // Define event: Move from bedroom to living room
12 let event_move = story
13 .add_event()
14 .with_change(&[Change::transition(place, 0, 1)])
15 .unwrap()
16 .event();
17
18 // Define event: Change clothes in bedroom
19 let event_clothes = story
20 .add_event()
21 .with_change(&[
22 Change::condition(place, 0),
23 Change::transition(clothes, 1, 0),
24 ])
25 .unwrap()
26 .event();
27
28 let mut simulation = MultilinearSimulation::new(story);
29 simulation.try_call(event_clothes);
30 simulation.try_call(event_move);
31 simulation.try_revert(event_move);
32}Sourcepub fn transition(aspect: Aspect, from: usize, to: usize) -> Self
pub fn transition(aspect: Aspect, from: usize, to: usize) -> Self
Creates a new transition change of the specified aspect changing the value from from to to.
Examples found in repository?
examples/example.rs (line 14)
4fn main() {
5 let mut story = MultilinearInfo::new();
6
7 // Create aspects
8 let place = story.add_aspect();
9 let clothes = story.add_aspect();
10
11 // Define event: Move from bedroom to living room
12 let event_move = story
13 .add_event()
14 .with_change(&[Change::transition(place, 0, 1)])
15 .unwrap()
16 .event();
17
18 // Define event: Change clothes in bedroom
19 let event_clothes = story
20 .add_event()
21 .with_change(&[
22 Change::condition(place, 0),
23 Change::transition(clothes, 1, 0),
24 ])
25 .unwrap()
26 .event();
27
28 let mut simulation = MultilinearSimulation::new(story);
29 simulation.try_call(event_clothes);
30 simulation.try_call(event_move);
31 simulation.try_revert(event_move);
32}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Change
impl RefUnwindSafe for Change
impl Send for Change
impl Sync for Change
impl Unpin for Change
impl UnwindSafe for Change
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