Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

graph Class Reference

A generic graph class. More...

#include <graph.h>

Inheritance diagram for graph:

Inheritance graph
[legend]
Collaboration diagram for graph:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 graph ()
 ~graph ()
graph_objectclone () const
graphcloneAll () const
int addNode (node *)
nodegetNode (unsigned int num)
void addEdge (edge *)
edgefindDirectedEdge (unsigned int from, unsigned int to)
edgefindEdge (unsigned int from, unsigned int to)
bool relax (edge *e, int weightIndex)
bool relaxReverseEdge (edge *e, int weightIndex)
nodegetRandomNode ()
edgegetRandomEdge ()
node_iterator getNodeIter () const
nodenodeIterNext (node_iterator &) const
edge_iterator getEdgeIter () const
edgeedgeIterNext (edge_iterator &) const
void removeEdge (edge *)
noderemoveNode (node *, unsigned int &)
void removeNode (node *n)
void removeNode (unsigned int nodeNum)
int getNumEdges ()
int getNumNodes ()
std::vector< node * > * getReachableNodes (node *start)
bool verifyGraph () const
void Print (std::ostream &) const
void printStats ()

Private Attributes

std::vector< node * > _nodes
std::vector< edge * > _edges

Detailed Description

A generic graph class.


Constructor & Destructor Documentation

graph::graph  ) 
 

graph::~graph  ) 
 


Member Function Documentation

void graph::addEdge edge  ) 
 

int graph::addNode node  ) 
 

graph_object * graph::clone  )  const [virtual]
 

Implements graph_object.

graph * graph::cloneAll  )  const
 

edge * graph::edgeIterNext edge_iterator  )  const
 

edge * graph::findDirectedEdge unsigned int  from,
unsigned int  to
 

edge * graph::findEdge unsigned int  from,
unsigned int  to
 

edge_iterator graph::getEdgeIter  )  const
 

node * graph::getNode unsigned int  num  ) 
 

node_iterator graph::getNodeIter  )  const
 

int graph::getNumEdges  ) 
 

int graph::getNumNodes  ) 
 

edge * graph::getRandomEdge  ) 
 

node * graph::getRandomNode  ) 
 

vector< node * > * graph::getReachableNodes node start  ) 
 

node * graph::nodeIterNext node_iterator  )  const
 

void graph::Print std::ostream &   )  const [virtual]
 

Reimplemented from graph_object.

void graph::printStats  ) 
 

bool graph::relax edge e,
int  weightIndex
 

bool graph::relaxReverseEdge edge e,
int  weightIndex
 

void graph::removeEdge edge  ) 
 

void graph::removeNode unsigned int  nodeNum  )  [inline]
 

void graph::removeNode node n  )  [inline]
 

node * graph::removeNode node ,
unsigned int & 
 

bool graph::verifyGraph  )  const
 


Member Data Documentation

std::vector<edge *> graph::_edges [private]
 

std::vector<node *> graph::_nodes [private]
 


The documentation for this class was generated from the following files:
Generated on Tue Aug 18 03:42:49 2009 for HOG by doxygen 1.3.4