Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes > Class Template Reference

#include <DS_WeightedGraph.h>

Collaboration diagram for DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >:
Collaboration graph
[legend]

List of all members.

Classes

struct  NodeAndParent

Public Member Functions

 WeightedGraph ()
 ~WeightedGraph ()
 WeightedGraph (const WeightedGraph &original_copy)
WeightedGraphoperator= (const WeightedGraph &original_copy)
void AddNode (const node_type &node)
void RemoveNode (const node_type &node)
void AddConnection (const node_type &node1, const node_type &node2, weight_type weight)
void RemoveConnection (const node_type &node1, const node_type &node2)
bool HasConnection (const node_type &node1, const node_type &node2)
void Print (void)
void Clear (void)
bool GetShortestPath (DataStructures::List< node_type > &path, node_type startNode, node_type endNode, weight_type INFINITE_WEIGHT)
bool GetSpanningTree (DataStructures::Tree< node_type > &outTree, DataStructures::List< node_type > *inputNodes, node_type startNode, weight_type INFINITE_WEIGHT)
unsigned GetNodeCount (void) const
unsigned GetConnectionCount (unsigned nodeIndex) const
void GetConnectionAtIndex (unsigned nodeIndex, unsigned connectionIndex, node_type &outNode, weight_type &outWeight) const
node_type GetNodeAtIndex (unsigned nodeIndex) const

Static Public Member Functions

static void IMPLEMENT_DEFAULT_COMPARISON (void)

Protected Member Functions

void ClearDijkstra (void)
void GenerateDisjktraMatrix (node_type startNode, weight_type INFINITE_WEIGHT)

Protected Attributes

DataStructures::Map< node_type,
DataStructures::Map< node_type,
weight_type > * > 
adjacencyLists
bool isValidPath
node_type rootNode
DataStructures::OrderedList
< node_type, node_type > 
costMatrixIndices
weight_type * costMatrix
node_type * leastNodeArray

Detailed Description

template<class node_type, class weight_type, bool allow_unlinkedNodes>
class DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >

Definition at line 34 of file DS_WeightedGraph.h.


Constructor & Destructor Documentation

template<class node_type , class weight_type , bool allow_unlinkedNodes>
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::WeightedGraph (  ) 

Definition at line 82 of file DS_WeightedGraph.h.

template<class node_type , class weight_type , bool allow_unlinkedNodes>
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::~WeightedGraph (  ) 

Definition at line 89 of file DS_WeightedGraph.h.

Here is the call graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::WeightedGraph ( const WeightedGraph< node_type, weight_type, allow_unlinkedNodes > &  original_copy  ) 

Definition at line 95 of file DS_WeightedGraph.h.

Here is the call graph for this function:


Member Function Documentation

template<class node_type, class weight_type, bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::AddConnection ( const node_type &  node1,
const node_type &  node2,
weight_type  weight 
)

Definition at line 174 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::AddNode ( const node_type &  node  ) 

Definition at line 131 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Clear ( void   ) 

Definition at line 208 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::ClearDijkstra ( void   )  [protected]

Definition at line 497 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type, bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GenerateDisjktraMatrix ( node_type  startNode,
weight_type  INFINITE_WEIGHT 
) [protected]

Definition at line 389 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type, bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetConnectionAtIndex ( unsigned  nodeIndex,
unsigned  connectionIndex,
node_type &  outNode,
weight_type &  outWeight 
) const

Definition at line 316 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
unsigned DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetConnectionCount ( unsigned  nodeIndex  )  const

Definition at line 310 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
node_type DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetNodeAtIndex ( unsigned  nodeIndex  )  const

Definition at line 298 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
unsigned DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetNodeCount ( void   )  const

Definition at line 304 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type, bool allow_unlinkedNodes>
bool DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetShortestPath ( DataStructures::List< node_type > &  path,
node_type  startNode,
node_type  endNode,
weight_type  INFINITE_WEIGHT 
)

Definition at line 219 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type, bool allow_unlinkedNodes>
bool DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetSpanningTree ( DataStructures::Tree< node_type > &  outTree,
DataStructures::List< node_type > *  inputNodes,
node_type  startNode,
weight_type  INFINITE_WEIGHT 
)

Definition at line 323 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type , bool allow_unlinkedNodes>
bool DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::HasConnection ( const node_type &  node1,
const node_type &  node2 
)

Definition at line 164 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type, bool allow_unlinkedNodes>
static void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::IMPLEMENT_DEFAULT_COMPARISON ( void   )  [inline, static]

Definition at line 37 of file DS_WeightedGraph.h.

template<class node_type , class weight_type , bool allow_unlinkedNodes>
WeightedGraph< node_type, weight_type, allow_unlinkedNodes > & DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::operator= ( const WeightedGraph< node_type, weight_type, allow_unlinkedNodes > &  original_copy  ) 

Definition at line 112 of file DS_WeightedGraph.h.

Here is the call graph for this function:

template<class node_type , class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Print ( void   ) 

Definition at line 509 of file DS_WeightedGraph.h.

Here is the call graph for this function:

template<class node_type, class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::RemoveConnection ( const node_type &  node1,
const node_type &  node2 
)

Definition at line 188 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class node_type, class weight_type , bool allow_unlinkedNodes>
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::RemoveNode ( const node_type &  node  ) 

Definition at line 137 of file DS_WeightedGraph.h.

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

template<class node_type, class weight_type, bool allow_unlinkedNodes>
DataStructures::Map<node_type, DataStructures::Map<node_type, weight_type> *> DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::adjacencyLists [protected]

Definition at line 61 of file DS_WeightedGraph.h.

template<class node_type, class weight_type, bool allow_unlinkedNodes>
weight_type* DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::costMatrix [protected]

Definition at line 70 of file DS_WeightedGraph.h.

template<class node_type, class weight_type, bool allow_unlinkedNodes>
DataStructures::OrderedList<node_type, node_type> DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::costMatrixIndices [protected]

Definition at line 69 of file DS_WeightedGraph.h.

template<class node_type, class weight_type, bool allow_unlinkedNodes>
bool DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::isValidPath [protected]

Definition at line 67 of file DS_WeightedGraph.h.

template<class node_type, class weight_type, bool allow_unlinkedNodes>
node_type* DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::leastNodeArray [protected]

Definition at line 71 of file DS_WeightedGraph.h.

template<class node_type, class weight_type, bool allow_unlinkedNodes>
node_type DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::rootNode [protected]

Definition at line 68 of file DS_WeightedGraph.h.


The documentation for this class was generated from the following file: