The MAUVE Toolchain
mauve::runtime::ExecState< CORE > Class Template Reference
Inheritance diagram for mauve::runtime::ExecState< CORE >:
Collaboration diagram for mauve::runtime::ExecState< CORE >:

Public Types

using Guard_t = std::function< bool(CORE *)>
 
using Update_t = std::function< void(CORE *)>
 

Public Member Functions

 ExecState (ExecState< CORE > const &other)=delete
 
time_ns_t get_clock () const override
 Get the clock value of the SynchroState "name". More...
 
std::size_t get_next_size () const override
 Return the number of transitions.
 
AbstractStateget_next_state (int index) const override
 Return the next state according to the index.
 
bool is_execution () const override
 Check if the state is an Execution state.
 
bool is_synchronization () const override
 Check if the state is a Synchronization state.
 
ExecState< CORE > & operator= (ExecState< CORE > const &other)=delete
 
bool set_clock (time_ns_t clock) override
 Change the clock value of the SynchroState "name". More...
 
bool set_update (Update_t update)
 
std::string to_string () const override
 Return the state as a string.
 
- Public Member Functions inherited from mauve::runtime::State< CORE >
 State (State< CORE > const &other)=delete
 
State< CORE > & operator= (State< CORE > const &other)=delete
 
void set_next (State< CORE > &next)
 
- Public Member Functions inherited from mauve::runtime::AbstractState
 AbstractState (AbstractState const &other)=delete
 
AbstractStateoperator= (AbstractState const &other)=delete
 

Friends

template<typename S , typename C >
class FiniteStateMachine
 

Additional Inherited Members

- Public Attributes inherited from mauve::runtime::AbstractState
friend AbstractFiniteStateMachine
 
std::string const name
 State name.
 
- Protected Member Functions inherited from mauve::runtime::State< CORE >
 State (AbstractFiniteStateMachine *container, std::string const &name)
 
- Protected Member Functions inherited from mauve::runtime::AbstractState
 AbstractState (AbstractFiniteStateMachine *container, std::string const &name)
 
- Protected Attributes inherited from mauve::runtime::State< CORE >
State< CORE > * next
 
- Protected Attributes inherited from mauve::runtime::AbstractState
const AbstractFiniteStateMachinecontainer
 

Member Function Documentation

template<typename CORE>
time_ns_t mauve::runtime::ExecState< CORE >::get_clock ( ) const
overridevirtual

Get the clock value of the SynchroState "name".

Returns
the clock value of the SynchroState or 0 if the state is not a SynchroState

Implements mauve::runtime::AbstractState.

template<typename CORE>
bool mauve::runtime::ExecState< CORE >::set_clock ( time_ns_t  clock)
overridevirtual

Change the clock value of the SynchroState "name".

Returns
true if the FSM is not configured and if a SynchroState named "name" exists, false otherwise

Implements mauve::runtime::AbstractState.