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::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::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.

Referenced by Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::eraseVertex().

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(), addRay(), and Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::newEdge().

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.

Referenced by Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::newVertex().

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(), addRay(), and Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::newVertex().

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.

Referenced by Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::pinch().

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.

Referenced by Graphs::GraphConcept< GraphVertex< IntLabeledEdge >, IntLabeledEdge >::replaceVertex().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:53 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1