CoxIter  1.3
CoxIter - Computing invariants of hyperbolic Coxeter groups
graphs.list.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2013-2017
3 Rafael Guglielmetti, rafael.guglielmetti@unifr.ch
4 */
5 
6 /*
7 This file is part of CoxIter.
8 
9 CoxIter is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as
11 published by the Free Software Foundation, either version 3 of the
12 License, or (at your option) any later version.
13 
14 CoxIter is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with CoxIter. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
31 #ifndef GRAPHS_LIST_H
32 #define GRAPHS_LIST_H
33 
34 #include "graphs.list.n.h"
35 
36 #include <vector>
37 
38 using namespace std;
39 
40 class GraphsList {
41 public:
48  GraphsList(size_t maxVertices, vector<string> *ptr_map_vertices_indexToLabel);
49 
69  void addGraph(const vector<short unsigned int> &vertices,
70  const vector<bool> &linkableVertices, const unsigned int &type,
71  bool isSpherical, const unsigned int &vertexSupp1 = 0,
72  const unsigned int &vertexSupp2 = 0,
73  const unsigned int &dataSupp = 0);
74 
80  Graph *begin();
81 
92  Graph *next(size_t &verticesCount, size_t &graphIndex);
93 
94 public: // Remark: this is public for read-only purpose!
95  vector<GraphsListN>
97  vector<size_t> graphsCount;
98 
100  size_t maxVertices;
101 
102 public:
103  friend ostream &operator<<(ostream &, GraphsList const &);
104 };
105 
106 #endif // GRAPHS_LIST_H
This class represents one graph.
Definition: graph.h:42
Liste des graphes.
Definition: graphs.list.h:40
size_t totalGraphsCount
Total number of graphs.
Definition: graphs.list.h:99
vector< size_t > graphsCount
Number of graphs (by number of vertices)
Definition: graphs.list.h:97
vector< GraphsListN > graphs
List of list of graphs (by number of vertices)
Definition: graphs.list.h:96
size_t maxVertices
Maximum number of vertices in the graphs.
Definition: graphs.list.h:100
ostream & operator<<(ostream &o, const Graph &g)
Definition: graph.cpp:36