DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager > Class Template Reference

#include <EventInserter.hh>

Public Types

using Fsm = _Fsm
 
using EI = EventInserter< Fsm >
 
using EM = _EventManager
 
- Public Types inherited from Diades::Automata::Experimental::EventInserter< _Fsm >
using EventId = typename _Fsm ::EventPropertyId
 
using EventMap = std::unordered_map< EventId, EventId >
 
using SourcePtr = typename Diades::Utils::Ptr< _Fsm >::ConstP
 
using TargetPtr = typename Diades::Utils::Ptr< _Fsm >::P
 

Public Member Functions

 ManagedEventInserter ()=default
 
 ManagedEventInserter (ManagedEventInserter const &other)=default
 
ManagedEventInserteroperator= (ManagedEventInserter const &other)=default
 
 ManagedEventInserter (ManagedEventInserter &&other)=default
 
ManagedEventInserteroperator= (ManagedEventInserter &&other)=default
 
 ~ManagedEventInserter ()=default
 
 ManagedEventInserter (const Fsm &source, Fsm &target, const EM &sourceManager, EM &targetManager)
 
- Public Member Functions inherited from Diades::Automata::Experimental::EventInserter< _Fsm >
 EventInserter ()=default
 
 EventInserter (EventInserter const &other)=default
 
 EventInserter (EventInserter &&other)=default
 
 EventInserter (const _Fsm &source, _Fsm &target)
 
EventInserteroperator= (EventInserter const &other)=default
 
EventInserteroperator= (EventInserter &&other)=default
 
 ~EventInserter ()=default
 
EventId insertEvent (EventId evt)
 

Protected Member Functions

virtual EI::EventMap::iterator generateEvent (typename EI::EventId evt)
 
- Protected Member Functions inherited from Diades::Automata::Experimental::EventInserter< _Fsm >
virtual EventMap::iterator generateEvent (EventId evt)
 

Private Attributes

Diades::Utils::Ptr< EM >::ConstP _sourceManager
 
Diades::Utils::Ptr< EM >::P _targetManager
 

Additional Inherited Members

- Protected Attributes inherited from Diades::Automata::Experimental::EventInserter< _Fsm >
SourcePtr _source
 
TargetPtr _target
 
EventMap _eventOf
 

Detailed Description

template<typename _Fsm, typename _EventManager>
class Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >

This class provides a way to insert an EventId eTargetId into a target Fsm associated with an EventId eSourceId from a source Fsm. The inserted EventId eTargetId is such that the EventManager of the target associates with eTargetId the same event that is associated with eSourceId in the EventManager of the source Fsm

Definition at line 141 of file EventInserter.hh.

Member Typedef Documentation

◆ EI

template<typename _Fsm , typename _EventManager >
using Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::EI = EventInserter<Fsm>

Definition at line 145 of file EventInserter.hh.

◆ EM

template<typename _Fsm , typename _EventManager >
using Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::EM = _EventManager

Definition at line 146 of file EventInserter.hh.

◆ Fsm

template<typename _Fsm , typename _EventManager >
using Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::Fsm = _Fsm

Definition at line 144 of file EventInserter.hh.

Constructor & Destructor Documentation

◆ ManagedEventInserter() [1/4]

template<typename _Fsm , typename _EventManager >
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::ManagedEventInserter ( )
default

Default constructor

◆ ManagedEventInserter() [2/4]

template<typename _Fsm , typename _EventManager >
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::ManagedEventInserter ( ManagedEventInserter< _Fsm, _EventManager > const &  other)
default

Copy constructor (default)

Parameters
other

◆ ManagedEventInserter() [3/4]

template<typename _Fsm , typename _EventManager >
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::ManagedEventInserter ( ManagedEventInserter< _Fsm, _EventManager > &&  other)
default

Move constructor (default)

Parameters
other

◆ ~ManagedEventInserter()

template<typename _Fsm , typename _EventManager >
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::~ManagedEventInserter ( )
default

Destructor

◆ ManagedEventInserter() [4/4]

template<typename _Fsm , typename _EventManager >
Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::ManagedEventInserter ( const Fsm source,
Fsm target,
const EM sourceManager,
EM targetManager 
)
inline

Build a ManagedEventInserter to insert EventId tId into a target Fsm that are associated with EventId sId from a source Fsm. The association is such that sourceManager.getEvent(sId) == targetManager.getEvent(tId)

Parameters
sourcethe source Fsm
targetthe target Fsm
sourceManagerthe event manager of the source Fsm
targetManagerthe event manager of the target Fsm

Definition at line 194 of file EventInserter.hh.

Member Function Documentation

◆ generateEvent()

template<typename _Fsm , typename _EventManager >
virtual EI::EventMap::iterator Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::generateEvent ( typename EI::EventId  evt)
inlineprotectedvirtual
Parameters
evtan EventId of the source Fsm
Returns
an EventId evtTarget to be inserted into the target Fsm so that sourceManager.getEvent(evt) == targetManager.getEvent(evtTarget) If evt has no real association in sourceManager, it then means that it is associated with the nullEvent() so evtTarget is nullEventId.

Definition at line 214 of file EventInserter.hh.

◆ operator=() [1/2]

template<typename _Fsm , typename _EventManager >
ManagedEventInserter& Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::operator= ( ManagedEventInserter< _Fsm, _EventManager > const &  other)
default

Assignement (default)

Parameters
other
Returns
the current ManagedEventInserter

◆ operator=() [2/2]

template<typename _Fsm , typename _EventManager >
ManagedEventInserter& Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::operator= ( ManagedEventInserter< _Fsm, _EventManager > &&  other)
default

Move assignement (default)

Parameters
other
Returns
the current Transition

Member Data Documentation

◆ _sourceManager

template<typename _Fsm , typename _EventManager >
Diades::Utils::Ptr<EM>::ConstP Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::_sourceManager
private

Definition at line 148 of file EventInserter.hh.

◆ _targetManager

template<typename _Fsm , typename _EventManager >
Diades::Utils::Ptr<EM>::P Diades::Automata::Experimental::ManagedEventInserter< _Fsm, _EventManager >::_targetManager
private

Definition at line 149 of file EventInserter.hh.


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