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

#include <StateCreation.hh>

Public Types

using MSC = ManagedStateCreation< StateMachine, 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< StateMachine, StateProperty >
using SC = StateCreation< StateMachine >
 
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< 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

 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< StateMachine, 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< 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, typename StateProperty>
class Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >

ManagedStateCopy for FiniteAutomaton) This class is a utility class for some operation on FiniteAutomation

It associates a source machine with a target machine.

This class creates a new State in the target state based on a source state and possibly a specific StatePropertyId. 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). The created state is associated with its id, either the same as the source state's one or an id setup by the user. In any case, if the source fsm manager holds a StateProperty for the source state, it is associated with the StatePropertyId associated with the created state and hold by the target fsm manager.

Definition at line 263 of file StateCreation.hh.

Member Typedef Documentation

◆ Fsm

template<typename StateMachine , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::Fsm = typename MSC::Fsm

Definition at line 268 of file StateCreation.hh.

◆ MSC

template<typename StateMachine , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::MSC = ManagedStateCreation<StateMachine, StateProperty>

Definition at line 267 of file StateCreation.hh.

◆ State

template<typename StateMachine , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::State = typename MSC::State

Definition at line 270 of file StateCreation.hh.

◆ StatePropertyId

template<typename StateMachine , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::StatePropertyId = typename MSC::StatePropertyId

Definition at line 271 of file StateCreation.hh.

◆ StManager

template<typename StateMachine , typename StateProperty >
using Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::StManager = typename MSC::StManager

Definition at line 269 of file StateCreation.hh.

Constructor & Destructor Documentation

◆ ManagedStateCopy()

template<typename StateMachine , typename StateProperty >
Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::ManagedStateCopy ( const Fsm source,
Fsm target,
const StManager sourceStateManager,
StManager targetStateManager 
)
inline

Definition at line 273 of file StateCreation.hh.

Member Function Documentation

◆ newState() [1/2]

template<typename StateMachine , typename StateProperty >
virtual std::pair<State, bool> Diades::Automata::Experimental::ManagedStateCopy< StateMachine, 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 StateProperty

Definition at line 289 of file StateCreation.hh.

◆ newState() [2/2]

template<typename StateMachine , typename StateProperty >
virtual std::pair<State, bool> Diades::Automata::Experimental::ManagedStateCopy< StateMachine, StateProperty >::newState ( State  source,
const 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 316 of file StateCreation.hh.

References always_require.


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