pub struct StateMachine { /* private fields */ }Expand description
Main State Machine implementation
Implementations§
Source§impl StateMachine
impl StateMachine
Sourcepub fn register_state(&mut self, state: State)
pub fn register_state(&mut self, state: State)
Register a state in the state machine
Sourcepub fn register_event(&mut self, event: &str)
pub fn register_event(&mut self, event: &str)
Register an event in the state machine
Sourcepub fn add_transition(&mut self, transition: Transition)
pub fn add_transition(&mut self, transition: Transition)
Add a transition to the state machine
Sourcepub fn set_initial_state(&mut self, state_name: &str)
pub fn set_initial_state(&mut self, state_name: &str)
Set the initial state
Sourcepub fn get_current_state(&self) -> Option<&State>
pub fn get_current_state(&self) -> Option<&State>
Get the current state
Sourcepub fn generate_diagram(&self) -> String
pub fn generate_diagram(&self) -> String
Generate a simple text representation of the state machine
Auto Trait Implementations§
impl Freeze for StateMachine
impl RefUnwindSafe for StateMachine
impl Send for StateMachine
impl Sync for StateMachine
impl Unpin for StateMachine
impl UnsafeUnpin for StateMachine
impl UnwindSafe for StateMachine
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.