CoxIter  1.2
CoxIter - Computing invariants of hyperbolic Coxeter groups
graphs.list.n.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 
23 #ifndef GRAPHS_LIST_N_H
24 #define GRAPHS_LIST_N_H
25 
26 #include "graph.h"
27 
28 #include <vector>
29 #include <algorithm>
30 #include <iterator>
31 
32 using namespace std;
33 
42 {
43  private:
44  vector< Graph > graphs;
45  unsigned int iVerticesCount;
46 
47  vector< string > *ptr_map_vertices_indexToLabel;
48 
49  public:
50  GraphsListN( unsigned int iVerticesCount, vector< string > *ptr_map_vertices_indexToLabel );
51 
62  void addGraph( vector< short unsigned int > iVertices, const vector< bool > &bVerticesLinkable, const unsigned &iType, bool bSpherical, const short unsigned int &iVertexSupp1 = 0, const short unsigned int &iVertexSupp2 = 0, const unsigned int &iDataSupp = 0 );
63 
70  bool addGraphsList( const GraphsListN& gln );
71 
76  size_t size( ) const;
77 
82  Graph* begin( );
83 
89  Graph* next( const size_t &iGraphIndex );
90 
96  unsigned int get_iVerticesCount( ) const;
97 
103  vector< Graph > get_graphs( ) const;
104 
105  public:
106  friend ostream& operator<<( ostream& , GraphsListN const & );
107 };
108 
109 #endif // GRAPHS_LIST_N_H
Liste des graphes d&#39;une taille donnée.
Definition: graphs.list.n.h:41
vector< string > * ptr_map_vertices_indexToLabel
Pointeur vers la correspondance.
Definition: graphs.list.n.h:47
This class represents one graph.
Definition: graph.h:42
vector< Graph > graphs
Liste des graphes trouvés.
Definition: graphs.list.n.h:44
unsigned int iVerticesCount
Nombre de sommets des graphes de la liste.
Definition: graphs.list.n.h:45
ostream & operator<<(ostream &o, const CoxIter &g)
Definition: coxiter.cpp:1313