Graphs::GraphConcept< VertexType, EdgeType > Class Template Reference

The main class for graph types. More...

#include <GraphConcept.h>

Inheritance diagram for Graphs::GraphConcept< VertexType, EdgeType >:

ObjectOf< GraphConceptRep< VertexType, EdgeType > > List of all members.

Public Types

typedef VertexType vertex_type
 The type of the graph vertex.
typedef EdgeType edge_type
 The type of the graph edge.

Public Member Functions

 GraphConcept ()
 Create empty graph.
const map< int, vertex_type > & getVertices () const
 Get the vertex set.
int newVertex ()
 Create new vertex (default). Function returns the number of the new vertex.
int newVertex (const vertex_type &V)
 Add new vertex into a graph. Function returns the number of the new vertex.
void eraseVertex (int v)
 Erase a vertex from the graph.
void replaceVertex (int v, const vertex_type &V)
 Function locally changes graph by replacing the vertex with number v by the vertex V.
void newEdge (int v1, const EdgeType &E)
 Create new edge with the origin v1 and target [and, maybe other parameters] provided in E.
void clear ()
 Make the graph trivial.
void pinch (int v1, int v2)
 Pinch two vertices v1 and v2.

Private Types

typedef GraphConceptRep< VertexType,
EdgeType > 
presentation_type

Detailed Description

template<class VertexType, class EdgeType>
class Graphs::GraphConcept< VertexType, EdgeType >

The main class for graph types.

Definition at line 274 of file GraphConcept.h.


Member Typedef Documentation

template<class VertexType, class EdgeType>
typedef EdgeType Graphs::GraphConcept< VertexType, EdgeType >::edge_type
 

The type of the graph edge.

Definition at line 282 of file GraphConcept.h.

template<class VertexType, class EdgeType>
typedef GraphConceptRep< VertexType , EdgeType > Graphs::GraphConcept< VertexType, EdgeType >::presentation_type [private]
 

Definition at line 286 of file GraphConcept.h.

template<class VertexType, class EdgeType>
typedef VertexType Graphs::GraphConcept< VertexType, EdgeType >::vertex_type
 

The type of the graph vertex.

Definition at line 280 of file GraphConcept.h.


Constructor & Destructor Documentation

template<class VertexType, class EdgeType>
Graphs::GraphConcept< VertexType, EdgeType >::GraphConcept  )  [inline]
 

Create empty graph.

Definition at line 296 of file GraphConcept.h.


Member Function Documentation

template<class VertexType, class EdgeType>
void Graphs::GraphConcept< VertexType, EdgeType >::clear  )  [inline]
 

Make the graph trivial.

Definition at line 331 of file GraphConcept.h.

Referenced by Graphs::GraphConceptRep< VertexType, EdgeType >::clear().

template<class VertexType, class EdgeType>
void Graphs::GraphConcept< VertexType, EdgeType >::eraseVertex int  v  )  [inline]
 

Erase a vertex from the graph.

Definition at line 319 of file GraphConcept.h.

template<class VertexType, class EdgeType>
const map< int, vertex_type >& Graphs::GraphConcept< VertexType, EdgeType >::getVertices  )  const [inline]
 

Get the vertex set.

Definition at line 307 of file GraphConcept.h.

template<class VertexType, class EdgeType>
void Graphs::GraphConcept< VertexType, EdgeType >::newEdge int  v1,
const EdgeType &  E
[inline]
 

Create new edge with the origin v1 and target [and, maybe other parameters] provided in E.

Definition at line 327 of file GraphConcept.h.

Referenced by addLoop(), and addRay().

template<class VertexType, class EdgeType>
int Graphs::GraphConcept< VertexType, EdgeType >::newVertex const vertex_type V  )  [inline]
 

Add new vertex into a graph. Function returns the number of the new vertex.

Definition at line 315 of file GraphConcept.h.

template<class VertexType, class EdgeType>
int Graphs::GraphConcept< VertexType, EdgeType >::newVertex  )  [inline]
 

Create new vertex (default). Function returns the number of the new vertex.

Definition at line 311 of file GraphConcept.h.

Referenced by addLoop(), and addRay().

template<class VertexType, class EdgeType>
void Graphs::GraphConcept< VertexType, EdgeType >::pinch int  v1,
int  v2
[inline]
 

Pinch two vertices v1 and v2.

Definition at line 335 of file GraphConcept.h.

template<class VertexType, class EdgeType>
void Graphs::GraphConcept< VertexType, EdgeType >::replaceVertex int  v,
const vertex_type V
[inline]
 

Function locally changes graph by replacing the vertex with number v by the vertex V.

Definition at line 323 of file GraphConcept.h.


The documentation for this class was generated from the following file:
Generated on Sun Dec 3 10:59:07 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.6