DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <Event.hh>
Public Types | |
using | IM = InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > |
using | Event = typename IM::Info |
using | EventId = typename IM::InfoId |
using | Exception = Diades::Utils::Exception< EventManager > |
Public Types inherited from Diades::Utils::InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > | |
using | Info = _Event |
using | InfoId = _EventId |
using | NullInfo = NullEvent |
using | NullInfoId = NullEventId |
using | Hash = Hash |
using | Exception = Diades::Utils::Exception< InfoManager > |
using | InfoIdRangeInfoIterator = Diades::Utils::RangeMapperIterator< GetInfo< InfoIdIterator > > |
Static Public Member Functions | |
static string | typeName () |
Static Public Member Functions inherited from Diades::Utils::InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > | |
static string | typeName () |
Private Types | |
using | EventIdIterator = typename IM::InfoIdIterator |
Additional Inherited Members | |
Public Attributes inherited from Diades::Utils::InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > | |
const Info | nullInfo |
const InfoId | nullInfoId |
Protected Types inherited from Diades::Utils::InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > | |
using | Map = std::unordered_map< size_t, std::vector< InfoId > > |
using | InfoIdIterator = typename std::vector< InfoId >::const_iterator |
Protected Attributes inherited from Diades::Utils::InfoManager< _Event, _EventId, NullEvent, NullEventId, Hash > | |
Map | _infoMap |
std::vector< Info > | _infos |
std::vector< InfoId > | _infoIds |
A EventManager is a InfoManager dedicated to the association of Event (Info) and EventId (InfoId)
An EventManager is a container of EventStructure. An EventStructure associates to an identifier an EventLabel. Based on this class it is then possible to manipulate Event as simple ids. No pointers/references are embedded in an Event. To get the effective label of a given Event ask the EventManager (hash table + vector). For efficiency purpose, an Event does not even hold a pointer about the EventManager that creates it. It means that an Event may have several meanings depending on the EventManagers that are available. It is up to the client to manage Event's ownership.
An EventManager aims at being very flexible. It can be copied. We can perform intersection, union of EventManagers. But be aware that two EventManagers are totally independent. A consistency check can be performed to attest that an EventManager owns a subset of events from another manager with the same codes. If two EventManagers own the same EventLabel with the same codes they are equivalent.
The template parameter EventLabel should implement a static method nullLabel() that returns a null label of class Label
using Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::Event = typename IM::Info |
using Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::EventId = typename IM::InfoId |
|
private |
using Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::Exception = Diades::Utils::Exception<EventManager> |
using Diades::Automata::Experimental::EventManager< _Event, _EventId, NullEvent, NullEventId, Hash >::IM = InfoManager<_Event, _EventId, NullEvent, NullEventId, Hash> |
|
default |
Default constructor
|
default |
Copy constructor (default)
other |
|
default |
Move constructor (default)
other |
|
virtualdefault |
Destructor
|
inline |
event | a Event |
if
the event is the null event then it returns the nullEventId() if
the event has not yet an associated id, a new id is created Definition at line 170 of file Event.hh.
Referenced by getProjectedEvents(), and runGlobalDiagnosisProblem().
|
inline |
id | a EventId |
a
EventId may not be associated yet to a Event then it is associated with the null Event Definition at line 183 of file Event.hh.
Referenced by commandPath(), explainLog(), exportTsToDdAut2(), Diades::Automata::Experimental::initialiseMatcher(), Diades::Petri::LabelledNet::nameOfTransition2Dot(), Diades::Petri::LabelledNet::net2TinaTransitionName(), Diades::Automata::Experimental::EventManagerPrettyPrinter< EventInfo, EventId >::print(), printSolution(), printTransition(), trimDdAutStates2(), writeTreeViewSafeAlternative(), and writeTreeViewTransition().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
default |
|
default |
|
inline |
Associate a event to a specific id
event | the Event |
id | the EventId |
Definition at line 156 of file Event.hh.
Referenced by exportTsToDdAut2(), and Diades::Automata::Experimental::generateSynchronisedDdAutEventLabels().
|
inlinestatic |