CoxIter  1.2
CoxIter - Computing invariants of hyperbolic Coxeter groups
graphs.list.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2013, 2014, 2015, 2016
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 
41 {
42  public:
48  GraphsList( size_t iVerticesCount, vector< string > *ptr_map_vertices_indexToLabel );
49 
62  void addGraph( const vector<short unsigned int> &iVertices, const vector< bool > &bVerticesLinkable, const unsigned int &iType, bool bSpherical, const unsigned int &iVertexSupp1 = 0, const unsigned int &iVertexSupp2 = 0, const unsigned int &iDataSupp = 0 );
63 
69  Graph* begin( );
70 
79  Graph* next( size_t &iVCount, size_t &iGraphIndex );
80 
81  public: // Remark: this is public for read-only purpose!
82  vector< GraphsListN > graphs;
83  vector< size_t > graphsCount;
84 
85  size_t iGraphsCount;
86  size_t iVerticesCount;
87 
88  public:
89  friend ostream& operator<<( ostream& , GraphsList const & );
90 };
91 
92 #endif // GRAPHS_LIST_H
size_t iGraphsCount
Total number of graphs.
Definition: graphs.list.h:85
vector< GraphsListN > graphs
List of list of graphs (by number of vertices)
Definition: graphs.list.h:82
Liste des graphes.
Definition: graphs.list.h:40
This class represents one graph.
Definition: graph.h:42
size_t iVerticesCount
Maximum number of vertices in the graphs.
Definition: graphs.list.h:86
ostream & operator<<(ostream &o, const CoxIter &g)
Definition: coxiter.cpp:1313
vector< size_t > graphsCount
Number of graphs (by number of vertices)
Definition: graphs.list.h:83