DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | List of all members
Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > > Class Template Reference

#include <FiniteAutomaton.hh>

Public Types

using FA = FiniteAutomaton< S, I, NS, NI >
 
using SC = StateCreation< FiniteAutomaton< S, I, NS, NI > >
 
- Public Types inherited from Diades::Automata::Experimental::StateCreation< FiniteAutomaton< S, I, NS, NI > >
using Exception = Diades::Utils::Exception< StateCreation >
 
using Fsm = FiniteAutomaton< S, I, NS, NI >
 
using StatePropertyId = typename Fsm::StatePropertyId
 
using EventPropertyId = typename Fsm::EventPropertyId
 
using State = typename Fsm::State
 

Public Member Functions

 StateCopy (const FA &source, FA &target)
 
virtual std::pair< typename SC::State, bool > newState (typename SC::State source)
 
virtual std::pair< typename SC::State, bool > newState (typename SC::State source, const typename SC::StatePropertyId &statePropertyId)
 
- Public Member Functions inherited from Diades::Automata::Experimental::StateCreation< FiniteAutomaton< S, I, NS, NI > >
 StateCreation (const Fsm &source, Fsm &target)
 
const Fsmsource () const
 
const Fsmtarget () const
 
Fsmtarget ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Diades::Automata::Experimental::StateCreation< FiniteAutomaton< S, I, NS, NI > >
static string typeName ()
 
- Protected Attributes inherited from Diades::Automata::Experimental::StateCreation< FiniteAutomaton< S, I, NS, NI > >
const Fsm_source
 
Fsm_target
 

Detailed Description

template<typename S, typename I, typename NS, typename NI>
class Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >

Definition at line 741 of file FiniteAutomaton.hh.

Member Typedef Documentation

◆ FA

template<typename S , typename I , typename NS , typename NI >
using Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >::FA = FiniteAutomaton<S, I, NS, NI>

Definition at line 744 of file FiniteAutomaton.hh.

◆ SC

template<typename S , typename I , typename NS , typename NI >
using Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >::SC = StateCreation<FiniteAutomaton<S, I, NS, NI> >

Definition at line 745 of file FiniteAutomaton.hh.

Constructor & Destructor Documentation

◆ StateCopy()

template<typename S , typename I , typename NS , typename NI >
Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >::StateCopy ( const FA source,
FA target 
)
inline

Constructor Any state will be creation in the target machine based on some states from the source machine

Parameters
sourcethe source machine
targetthe target machine

Definition at line 756 of file FiniteAutomaton.hh.

Member Function Documentation

◆ newState() [1/2]

template<typename S , typename I , typename NS , typename NI >
virtual std::pair<typename SC::State, bool> Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >::newState ( typename SC::State  source)
inlinevirtual

◆ newState() [2/2]

template<typename S , typename I , typename NS , typename NI >
virtual std::pair<typename SC::State, bool> Diades::Automata::Experimental::StateCopy< FiniteAutomaton< S, I, NS, NI > >::newState ( typename SC::State  source,
const typename SC::StatePropertyId statePropertyId 
)
inlinevirtual
Parameters
sourcea source state from the source machine
stateIda customized version of the source StatePropertyId from the source machine
Returns
a State newly created in the target machine holding the same properties (initial...) than in the source machine

Definition at line 795 of file FiniteAutomaton.hh.

References Diades::Automata::Experimental::FiniteAutomaton< _StatePropertyId, _InputSymbolId, _NullStatePropertyId, _NullInputSymbolId >::isAcceptingState(), and Diades::Automata::Experimental::StateMachine< _StatePropertyId, _InputSymbolId, _NullStatePropertyId, _NullInputSymbolId >::isInitial().


The documentation for this class was generated from the following file: