2#include <score/tools/std/HashMap.hpp>
4#include <boost/graph/adjacency_list.hpp>
5#include <boost/graph/directed_graph.hpp>
9#include <nano_observer.hpp>
10#include <score_plugin_scenario_export.h>
18class ScenarioInterface;
24using Graph = boost::directed_graph<GraphVertex, GraphEdge>;
43 std::vector<const Scenario::TimeSyncModel*> syncs;
44 std::vector<const Scenario::IntervalModel*> intervals;
51 std::vector<TimenodeGraphConnectedComponent> comps;
62 ,
public Nano::Observer
66 const Graph& graph()
const {
return m_graph; }
67 const auto& edges()
const {
return m_edges; }
68 const auto& vertices()
const {
return m_vertices; }
73 bool hasCycles()
const noexcept;
88 score::hash_map<const Scenario::TimeSyncModel*, Graph::vertex_descriptor> m_vertices;
89 score::hash_map<const Scenario::IntervalModel*, Graph::edge_descriptor> m_edges;
Definition EventModel.hpp:36
Definition IntervalModel.hpp:50
The core hierarchical and temporal process of score.
Definition ScenarioModel.hpp:37
Definition StateModel.hpp:63
Definition TimeSyncModel.hpp:34
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Definition score-plugin-scenario/Scenario/Document/Graph.hpp:49
A directed graph of all the TimeSyncs in a ScenarioInterface.
Definition score-plugin-scenario/Scenario/Document/Graph.hpp:42
Definition score-plugin-scenario/Scenario/Document/Graph.hpp:63