DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | List of all members
Diades::Automata::Experimental::StateCopy< StateMachine > Class Template Reference

#include <StateCreation.hh>

Public Types

using SC = StateCreation< StateMachine >
 
- Public Types inherited from Diades::Automata::Experimental::StateCreation< StateMachine >
using Exception = Diades::Utils::Exception< StateCreation >
 
using Fsm = StateMachine
 
using StatePropertyId = typename Fsm::StatePropertyId
 
using EventPropertyId = typename Fsm::EventPropertyId
 
using State = typename Fsm::State
 

Public Member Functions

 StateCopy (const StateMachine &source, StateMachine &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< StateMachine >
 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< StateMachine >
static string typeName ()
 
- Protected Attributes inherited from Diades::Automata::Experimental::StateCreation< StateMachine >
const Fsm_source
 
Fsm_target
 

Detailed Description

template<typename StateMachine>
class Diades::Automata::Experimental::StateCopy< StateMachine >

StateCopy for FiniteAutomaton This class is a utility class for some operation on FiniteAutomation

It associates a source machine with a target machine.

This class simply creates a new State in the target state as a 'copy' of the source state. It can be used by inserting a state in the target machine that indeed hold the same StatePropertyId but it can also insert a state with a different StatePropertyId, which means for the user that the inserting state results from a customised copy managed by the user. Copied state hold the properties (initial, acceptor)

This class is a utility class for some operation on StateMachines It associates a source machine with a target machine.

This class simply creates a new State in the target state as a 'copy' of the source state. It can be used by inserting a state in the target machine that indeed hold the same StatePropertyId but it can also insert a state with a different StatePropertyId, which means for the user that the inserting state results from a customised copy managed by the user

Definition at line 149 of file StateCreation.hh.

Member Typedef Documentation

◆ SC

Definition at line 151 of file StateCreation.hh.

Constructor & Destructor Documentation

◆ StateCopy()

template<typename StateMachine >
Diades::Automata::Experimental::StateCopy< StateMachine >::StateCopy ( const StateMachine source,
StateMachine 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 162 of file StateCreation.hh.

Member Function Documentation

◆ newState() [1/2]

template<typename StateMachine >
virtual std::pair<typename SC::State, bool> Diades::Automata::Experimental::StateCopy< StateMachine >::newState ( typename SC::State  source)
inlinevirtual
Parameters
sourcea source state from the source machine
Returns
a State newly created in the target machine holding the same StatePropertyId

Definition at line 175 of file StateCreation.hh.

◆ newState() [2/2]

template<typename StateMachine >
virtual std::pair<typename SC::State, bool> Diades::Automata::Experimental::StateCopy< StateMachine >::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 192 of file StateCreation.hh.


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