18 #ifndef MAUVE_RUNTIME_ABSTRACT_STATE_HPP 19 #define MAUVE_RUNTIME_ABSTRACT_STATE_HPP 29 class AbstractFiniteStateMachine;
60 virtual bool set_clock(time_ns_t clock) = 0;
69 virtual std::string
to_string()
const = 0;
78 std::ostream & operator<<(std::ostream & out,
AbstractState const & state);
virtual bool is_synchronization() const =0
Check if the state is a Synchronization state.
virtual std::size_t get_next_size() const =0
Return the number of transitions.
virtual time_ns_t get_clock() const =0
Get the clock value of the SynchroState "name".
A Finite State Machine describes the component behavior.
Definition: AbstractFiniteStateMachine.hpp:34
virtual bool set_clock(time_ns_t clock)=0
Change the clock value of the SynchroState "name".
virtual bool is_execution() const =0
Check if the state is an Execution state.
The MAUVE namespace.
Definition: tracing.hpp:24
Abstract State class.
Definition: AbstractState.hpp:34
virtual std::string to_string() const =0
Return the state as a string.
virtual AbstractState * get_next_state(int index) const =0
Return the next state according to the index.
std::string const name
State name.
Definition: AbstractState.hpp:39