1 #ifndef __DIADES__AUTOMATA__TOPOLOGYMAP_HH 2 #define __DIADES__AUTOMATA__TOPOLOGYMAP_HH 4 #include<unordered_map> 40 static string typeName() {
return "AutModel::TopologyMap"; }
55 unordered_map<Event,Node>::const_iterator it = _eventMap.find(event);
56 if(it == _eventMap.end())
66 require(Exception,node.valid(),
"getComponent(): invalid node");
68 "getComponent(): this node does not belong to the Topology");
69 return *_compMap[node];
74 unordered_map<ComponentPointer,Node>::const_iterator it = _nodeMap.find(&component);
80 if(find(
topology().cliqueBegin(connection),
topology().cliqueEnd(connection),node)
83 _connMap[connection].mapEventToNode(event,node);
92 return _connMap[connection];
unordered_map< Event, Node > _eventMap
Diades::Graph::Node Connection
const Topology * _topology
const ObservableComponent * ComponentPointer
TopologyMap(const Topology &topology)
void importMap(const string &fileName)
unordered_map< ComponentPointer, Node > _nodeMap
const Topology & topology() const
An observable Component defined as a automaton.
const Graph & graph() const
ConstNodeMap< ComponentPointer > _CompMap
#define require(Exception, expr, message)
Namespace of the Diades project.
const ConnectionMap & getConnectionMap(Topology::Connection connection) const
void addConnection(Topology::Connection connection, Topology::Node node, Event event)
void mapComponentToNode(const ObservableComponent &component, Topology::Node itsNode)
Diades::Utils::Exception< Topology > Exception
const ObservableComponent & getComponent(Topology::Node node) const
Node getNodeSourceOf(Event event) const
void exportMap(const string &fileName)
ConstNodeMap< ConnectionMap > _ConnMap
Topology::Node getNode(const ObservableComponent &component) const