GraphType.h File Reference

#include "set"
#include "vector"
#include "iostream"
#include "string"
#include "GraphConcept.h"
#include "GraphConceptAlgorithms.h"
#include "GraphDrawingAttributes.h"
#include "RanlibCPP.h"

Go to the source code of this file.

Classes

struct  GraphEdge
 Defines non-labelled edge of the directed graph. More...
struct  GraphVertex< EdgeType >
 Graph vertex. More...
struct  IntLabeledEdge
 Defines labelled (by integer) edge of the directed graph. More...
struct  PlanarGraphEdge
 Defines non-labelled edge of the directed planar graph. More...
struct  PlanarGraphIntLabelledEdge
 Defines non-labelled edge of the directed planar graph. More...

Typedefs

typedef GraphConcept< GraphVertex<
GraphEdge >, GraphEdge
Graph
 Directed Graph.
typedef GraphConcept< GraphVertex<
IntLabeledEdge >, IntLabeledEdge
IntLabeledGraph
 Directed Graph with integer labelled edges.

Functions

ostream & operator<< (ostream &os, const GraphEdge &e)
ostream & operator<< (ostream &os, const IntLabeledEdge &e)
 Output operator for IntLabeledEdge.
void prepareToFold (const IntLabeledEdge &e1, const IntLabeledEdge &e2)
 Function preparing two edges to a fold (for IntLabeledEdge does nothing).
template<class ConstIntIterator>
int addRay (IntLabeledGraph &G, int v, ConstIntIterator B, ConstIntIterator E, bool direct=false)
 Function attaches a sequence of edges to a graph consequently labelled by numbers [B,E).
template<class ConstIntIterator>
void addLoop (IntLabeledGraph &G, int v, ConstIntIterator B, ConstIntIterator E, bool direct=false)
 Function attaches a loop of edges to a graph consequently labelled by numbers [B,E).
Graph randomGraph (int N, float edge_param)
 Create random graph on N verteices where each edge has probability to appear = edge_param.
vector< vector< int > > lengthTable (const Graph &G)
 Compute distances between all pairs of vertices.
vector< vector< int > > innerProductTable (const Graph &G, int origin)
 Compute Gromov's inner product for all pairs of vertices (the origin is the vertex with the smallest number).
float getHyperbolicityConst (const Graph &G)
 Compute constant of hyperbolicity of a graph (uses Gromov's inner product).
string graphviz_format (const Graph &G, const GraphDrawingAttributes &GDA=GraphDrawingAttributes())
 Get Graphviz graph description.
string graphviz_format (const IntLabeledGraph &G, const GraphDrawingAttributes &GDA=GraphDrawingAttributes())
 Get Graphviz graph description.


Typedef Documentation

typedef GraphConcept< GraphVertex< GraphEdge > , GraphEdge > Graph
 

Directed Graph.

Definition at line 241 of file GraphType.h.

typedef GraphConcept< GraphVertex< IntLabeledEdge > , IntLabeledEdge > IntLabeledGraph
 

Directed Graph with integer labelled edges.

Definition at line 246 of file GraphType.h.


Function Documentation

template<class ConstIntIterator>
void addLoop IntLabeledGraph G,
int  v,
ConstIntIterator  B,
ConstIntIterator  E,
bool  direct = false
 

Function attaches a loop of edges to a graph consequently labelled by numbers [B,E).

Definition at line 275 of file GraphType.h.

References Graphs::GraphConcept< VertexType, EdgeType >::newEdge(), and Graphs::GraphConcept< VertexType, EdgeType >::newVertex().

template<class ConstIntIterator>
int addRay IntLabeledGraph G,
int  v,
ConstIntIterator  B,
ConstIntIterator  E,
bool  direct = false
 

Function attaches a sequence of edges to a graph consequently labelled by numbers [B,E).

Definition at line 258 of file GraphType.h.

References Graphs::GraphConcept< VertexType, EdgeType >::newEdge(), and Graphs::GraphConcept< VertexType, EdgeType >::newVertex().

float getHyperbolicityConst const Graph G  ) 
 

Compute constant of hyperbolicity of a graph (uses Gromov's inner product).

string graphviz_format const IntLabeledGraph G,
const GraphDrawingAttributes GDA = GraphDrawingAttributes()
 

Get Graphviz graph description.

string graphviz_format const Graph G,
const GraphDrawingAttributes GDA = GraphDrawingAttributes()
 

Get Graphviz graph description.

vector< vector< int > > innerProductTable const Graph G,
int  origin
 

Compute Gromov's inner product for all pairs of vertices (the origin is the vertex with the smallest number).

vector< vector< int > > lengthTable const Graph G  ) 
 

Compute distances between all pairs of vertices.

ostream& operator<< ostream &  os,
const IntLabeledEdge e
 

Output operator for IntLabeledEdge.

ostream& operator<< ostream &  os,
const GraphEdge e
 

void prepareToFold const IntLabeledEdge e1,
const IntLabeledEdge e2
 

Function preparing two edges to a fold (for IntLabeledEdge does nothing).

Graph randomGraph int  N,
float  edge_param
 

Create random graph on N verteices where each edge has probability to appear = edge_param.


Generated on Sun Dec 3 10:58:57 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.6