DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <StateInserter.hh>
Public Types | |
using | StateIdGenerator = _StateIdGenerator |
using | StateCreator = _StateCreator |
using | Fsm = typename StateCreator::Fsm |
using | State = typename Fsm::State |
using | StateId = typename Fsm::StatePropertyId |
using | StateIdMap = std::unordered_map< StateId, StateId > |
Public Member Functions | |
StateInserter ()=default | |
StateInserter (StateInserter const &other)=default | |
StateInserter & | operator= (StateInserter const &other)=default |
StateInserter (StateInserter &&other)=default | |
StateInserter & | operator= (StateInserter &&other)=default |
~StateInserter ()=default | |
StateInserter (StateIdGenerator &gen, StateCreator &creator) | |
const Fsm & | source () const |
Fsm & | target () |
virtual State | insertState (State state) |
virtual StateId | getStateId (StateId stateId) |
Protected Member Functions | |
State | newState (State state, StateId id) |
Private Attributes | |
StateIdMap | _stateOf |
Diades::Utils::Ptr< StateIdGenerator >::P | _generator |
Diades::Utils::Ptr< StateCreator >::P | _creator |
This template class is a class helper for the Fsm state insertion. It gathers a StateIdGenerator in charge of generating new StateId on demand before the insertion of any state in the target Fsm and a StateCreation object that will effectively create new States in a target Fsm based on a source Fsm. StateInserter manages the relationship between the stateIds of the source Fsm and the stateIds of the target Fsm. It ensures that a state created in the target Fsm hold a StateId that is associated with a unique StateId so a unique State of the source Fsm.
Definition at line 133 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::Fsm = typename StateCreator::Fsm |
Definition at line 139 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::State = typename Fsm::State |
Definition at line 140 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::StateCreator = _StateCreator |
Definition at line 138 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::StateId = typename Fsm::StatePropertyId |
Definition at line 141 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::StateIdGenerator = _StateIdGenerator |
Definition at line 137 of file StateInserter.hh.
using Diades::Automata::Experimental::StateInserter< _StateIdGenerator, _StateCreator >::StateIdMap = std::unordered_map<StateId, StateId> |
Definition at line 142 of file StateInserter.hh.
|
default |
Default constructor
|
default |
Copy constructor (default)
other |
|
default |
Move constructor (default)
other |
|
default |
Destructor
|
inline |
gen | a StateIdGenerator that will fix the way the stateId of the target Fsm will be generated |
creator | a StateCreator that will fix the way an state will be indeed created in the target Fsm |
Definition at line 198 of file StateInserter.hh.
|
inlinevirtual |
stateId | a given StateId |
Definition at line 253 of file StateInserter.hh.
|
inlinevirtual |
state | a State of the source Fsm associated with the StateCreator |
First
it gets the stateId 'sourceId' from the source Fsm, look for the StateId 'targetId' that is associated within the target Fsm and returns the state associated with 'targetId' in the target Fsm Reimplemented in Diades::Automata::Experimental::ManagedStateInserter< _StateIdGenerator, _StateCreator, StateProperty >.
Definition at line 237 of file StateInserter.hh.
References getStateId().
|
inlineprotected |
Definition at line 152 of file StateInserter.hh.
|
default |
|
default |
Move assignement (default)
other |
|
inline |
Definition at line 211 of file StateInserter.hh.
|
inline |
Definition at line 222 of file StateInserter.hh.
|
private |
Definition at line 147 of file StateInserter.hh.
|
private |
Definition at line 146 of file StateInserter.hh.
|
private |
Definition at line 145 of file StateInserter.hh.