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

#include <FiniteAutomaton.hh>

Public Types

using MSC = ManagedStateCreation< FiniteAutomaton< S, I, NS, NI >, StateProperty >
 
using Fsm = typename MSC::Fsm
 
using StManager = typename MSC::StManager
 
using State = typename MSC::State
 
using StatePropertyId = typename MSC::StatePropertyId
 
- Public Types inherited from Diades::Automata::Experimental::ManagedStateCreation< FiniteAutomaton< S, I, NS, NI >, StateProperty >
using SC = StateCreation< FiniteAutomaton< S, I, NS, NI > >
 
using Fsm = typename SC::Fsm
 
using StateProperty = StateProperty
 
using StatePropertyId = typename SC::StatePropertyId
 
using StManager = StatePropertyManager< StateProperty, StatePropertyId >
 
- 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

 ManagedStateCopy (const Fsm &source, Fsm &target, const StManager &sourceStateManager, StManager &targetStateManager)
 
virtual std::pair< State, bool > newState (State source)
 
virtual std::pair< State, bool > newState (State source, const StatePropertyId &statePropertyId)
 
- Public Member Functions inherited from Diades::Automata::Experimental::ManagedStateCreation< FiniteAutomaton< S, I, NS, NI >, StateProperty >
const StManagersourceStateManager () const
 
StManagertargetStateManager ()
 
 ManagedStateCreation (const Fsm &source, Fsm &target, const StManager &sourceStateManager, StManager &targetStateManager)
 
- 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, typename StateProperty>
class Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >

Definition at line 829 of file FiniteAutomaton.hh.

Member Typedef Documentation

◆ Fsm

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::Fsm = typename MSC::Fsm

Definition at line 834 of file FiniteAutomaton.hh.

◆ MSC

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::MSC = ManagedStateCreation<FiniteAutomaton<S, I, NS, NI>, StateProperty>

Definition at line 833 of file FiniteAutomaton.hh.

◆ State

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::State = typename MSC::State

Definition at line 836 of file FiniteAutomaton.hh.

◆ StatePropertyId

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::StatePropertyId = typename MSC::StatePropertyId

Definition at line 837 of file FiniteAutomaton.hh.

◆ StManager

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::StManager = typename MSC::StManager

Definition at line 835 of file FiniteAutomaton.hh.

Constructor & Destructor Documentation

◆ ManagedStateCopy()

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::ManagedStateCopy ( const Fsm source,
Fsm target,
const StManager sourceStateManager,
StManager targetStateManager 
)
inline

Definition at line 839 of file FiniteAutomaton.hh.

Member Function Documentation

◆ newState() [1/2]

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
virtual std::pair<State, bool> Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::newState ( State  source)
inlinevirtual
Parameters
sourcea source state from the source machine
Returns
a State newly created in the target machine holding the same StatePropertyId (even if it is the nullStatePropertyId). If the state manager of the source fsm holds a StateProperty for the id of the source state then this StatePropertuy is also associated with the created state in the target machine. Return the pair with true if the state is effectively created, false if the state was already created.

Definition at line 861 of file FiniteAutomaton.hh.

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

◆ newState() [2/2]

template<typename S , typename I , typename NS , typename NI , typename StateProperty >
virtual std::pair<State, bool> Diades::Automata::Experimental::ManagedStateCopy< FiniteAutomaton< S, I, NS, NI >, StateProperty >::newState ( State  source,
const StatePropertyId statePropertyId 
)
inlinevirtual
Parameters
sourcea source state from the source machine
statePropertyIda new StateId to be inserted in the target machine
Returns
a State newly created in the target machine holding the same structural properties (initial, acceptor...) than in the source machine associated with statePropertyId. In case the state manager holds a StateProperty for the source state, this property is associated with the created state (and therefore associated with the given statePropertyId). return the pair with true if the state is effectively created, false if the state was already created.

Definition at line 906 of file FiniteAutomaton.hh.

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


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