XX CMake Package
Loading...
Searching...
No Matches
XXGraph.h
Go to the documentation of this file.
1#ifndef XXDiscreteMathsGraphH
2#define XXDiscreteMathsGraphH
3
4#include "XXMathExportDef.h"
5
6#include <QList>
7
8namespace XX
9{
11
15
17 {
18 public:
19 class Algorithm;
20 class Vertex;
21 class Edge;
22
23 public:
25
26 public:
27 int addVertex(Vertex* vertex);
28 bool removeVertex(Vertex* vertex, bool deleteVertex = false);
29 int vertexIndex(const Vertex* vertex) const;
30 int vertexCount() const;
32 Vertex* findVertexByName(const QString& name) const;
33
34 int addEdge(Edge* edge);
35 bool removeEdge(Edge* edge, bool deleteEdge = false);
36 int edgeIndex(const Edge* edge) const;
37 int edgeCount() const;
38 Edge* getEdge(int edgeIndex) const;
39 int findEdgeIndex(const Vertex* vertexA, const Vertex* vertexB) const;
40
41 void clear(bool deleteAll = false);
42
43 private:
44 QList<Vertex*> vertexList;
45 QList<Edge*> edgeList;
46 };
47} // namespace XX
48
49#endif // NOT XXDiscreteMathsGraphH
#define XXMATH_DECLSPEC
Definition XXMathExportDef.h:17
graph algorithms
Definition XXGraphAlgorithm.h:18
an edge in a graph
Definition XXGraphEdge.h:17
a vertex in a graph
Definition XXGraphVertex.h:16
Edge * getEdge(int edgeIndex) const
int edgeCount() const
void clear(bool deleteAll=false)
int vertexIndex(const Vertex *vertex) const
int edgeIndex(const Edge *edge) const
bool removeVertex(Vertex *vertex, bool deleteVertex=false)
int addVertex(Vertex *vertex)
Vertex * findVertexByName(const QString &name) const
int addEdge(Edge *edge)
int findEdgeIndex(const Vertex *vertexA, const Vertex *vertexB) const
Vertex * getVertex(int vertexIndex) const
int vertexCount() const
bool removeEdge(Edge *edge, bool deleteEdge=false)
Definition XXPopulatedAbstract.h:11