#include <DS_WeightedGraph.h>
Classes | |
struct | NodeAndParent |
Public Member Functions | |
WeightedGraph () | |
~WeightedGraph () | |
WeightedGraph (const WeightedGraph &original_copy) | |
WeightedGraph & | operator= (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 |
Definition at line 34 of file DS_WeightedGraph.h.
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::WeightedGraph | ( | ) |
Definition at line 82 of file DS_WeightedGraph.h.
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::~WeightedGraph | ( | ) |
DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::WeightedGraph | ( | const WeightedGraph< node_type, weight_type, allow_unlinkedNodes > & | original_copy | ) |
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.
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::AddNode | ( | const node_type & | node | ) |
Definition at line 131 of file DS_WeightedGraph.h.
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Clear | ( | void | ) |
Definition at line 208 of file DS_WeightedGraph.h.
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::ClearDijkstra | ( | void | ) | [protected] |
Definition at line 497 of file DS_WeightedGraph.h.
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.
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.
unsigned DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetConnectionCount | ( | unsigned | nodeIndex | ) | const |
Definition at line 310 of file DS_WeightedGraph.h.
node_type DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetNodeAtIndex | ( | unsigned | nodeIndex | ) | const |
Definition at line 298 of file DS_WeightedGraph.h.
unsigned DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::GetNodeCount | ( | void | ) | const |
Definition at line 304 of file DS_WeightedGraph.h.
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.
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.
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.
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.
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 | ) |
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::Print | ( | void | ) |
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.
void DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::RemoveNode | ( | const node_type & | node | ) |
Definition at line 137 of file DS_WeightedGraph.h.
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.
weight_type* DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::costMatrix [protected] |
Definition at line 70 of file DS_WeightedGraph.h.
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.
bool DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::isValidPath [protected] |
Definition at line 67 of file DS_WeightedGraph.h.
node_type* DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::leastNodeArray [protected] |
Definition at line 71 of file DS_WeightedGraph.h.
node_type DataStructures::WeightedGraph< node_type, weight_type, allow_unlinkedNodes >::rootNode [protected] |
Definition at line 68 of file DS_WeightedGraph.h.