blob: f55b3c97415b0929d24fc24e940d93474af1517f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef GRAPH_H
#define GRAPH_H
#include "node.h"
#include "edge.h"
#include <QObject>
#include <QVector>
#include <QMultiHash>
class Graph : public QObject
{
Q_OBJECT
public:
explicit Graph(QObject *parent = 0);
Node *addNode();
void removeNode(Node *n);
Edge *addEdge(Node *s, Node*t);
void removeEdge(Edge *e);
signals:
public slots:
private:
QVector<Node*> nodes;
QVector<Edge*> edges;
QMultiHash<Node*,Edge*> inEdges;
QMultiHash<Node*,Edge*> outEdges;
};
#endif // GRAPH_H
|