pub struct EventEdit<'a> { /* private fields */ }Expand description
Represents information for adding changes to an event in a multilinear system.
Implementations§
Source§impl EventEdit<'_>
impl EventEdit<'_>
Sourcepub fn event(self) -> Event
pub fn event(self) -> Event
Returns the event identifier, consuming the object.
Examples found in repository?
examples/example.rs (line 16)
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 add_change(
&mut self,
changes: &[Change],
) -> Result<(), InvalidChangeError>
pub fn add_change( &mut self, changes: &[Change], ) -> Result<(), InvalidChangeError>
Adds a change to the event.
Sourcepub fn with_change(self, changes: &[Change]) -> Result<Self, InvalidChangeError>
pub fn with_change(self, changes: &[Change]) -> Result<Self, InvalidChangeError>
Creates a new instance of EventInfo with the given change.
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}Auto Trait Implementations§
impl<'a> Freeze for EventEdit<'a>
impl<'a> RefUnwindSafe for EventEdit<'a>
impl<'a> Send for EventEdit<'a>
impl<'a> Sync for EventEdit<'a>
impl<'a> Unpin for EventEdit<'a>
impl<'a> !UnwindSafe for EventEdit<'a>
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