Trait rust_fsm::StateMachineImpl [−][src]
pub trait StateMachineImpl {
type Input;
type State;
type Output;
const INITIAL_STATE: Self::State;
fn transition(
state: &Self::State,
input: &Self::Input
) -> Option<Self::State>;
fn output(state: &Self::State, input: &Self::Input) -> Option<Self::Output>;
}Expand description
This trait is designed to describe any possible deterministic finite state machine/transducer. This is just a formal definition that may be inconvenient to be used in practical programming, but it is used throughout this library for more practical things.
Associated Types
Associated Constants
const INITIAL_STATE: Self::State
const INITIAL_STATE: Self::State
The initial state of the machine.
Required methods
The transition fuction that outputs a new state based on the current
state and the provided input. Outputs None when there is no transition
for a given combination of the input and the state.