Renamed template parameter, added typedef to access template parameter

data
This commit is contained in:
DennisOSRM 2011-11-17 10:37:43 +01:00
parent 37e07025f7
commit be9b21edc4

View File

@ -25,9 +25,10 @@ or see http://www.gnu.org/licenses/agpl.txt.
#include <algorithm> #include <algorithm>
#include <limits> #include <limits>
template< typename EdgeData> template< typename EdgeDataT>
class DynamicGraph { class DynamicGraph {
public: public:
typedef EdgeDataT EdgeData;
typedef unsigned NodeIterator; typedef unsigned NodeIterator;
typedef unsigned EdgeIterator; typedef unsigned EdgeIterator;
@ -35,7 +36,7 @@ class DynamicGraph {
public: public:
NodeIterator source; NodeIterator source;
NodeIterator target; NodeIterator target;
EdgeData data; EdgeDataT data;
bool operator<( const InputEdge& right ) const { bool operator<( const InputEdge& right ) const {
if ( source != right.source ) if ( source != right.source )
return source < right.source; return source < right.source;
@ -44,7 +45,7 @@ class DynamicGraph {
}; };
//Constructs an empty graph with a given number of nodes. //Constructs an empty graph with a given number of nodes.
DynamicGraph( int nodes ) : m_numNodes(nodes) { DynamicGraph( int nodes ) : m_numNodes(nodes), m_numEdges(0) {
m_nodes.reserve( m_numNodes ); m_nodes.reserve( m_numNodes );
m_nodes.resize( m_numNodes ); m_nodes.resize( m_numNodes );
@ -103,12 +104,12 @@ class DynamicGraph {
return NodeIterator( m_edges[e].target ); return NodeIterator( m_edges[e].target );
} }
EdgeData &GetEdgeData( const EdgeIterator &e ) EdgeDataT &GetEdgeData( const EdgeIterator &e )
{ {
return m_edges[e].data; return m_edges[e].data;
} }
const EdgeData &GetEdgeData( const EdgeIterator &e ) const const EdgeDataT &GetEdgeData( const EdgeIterator &e ) const
{ {
return m_edges[e].data; return m_edges[e].data;
} }
@ -125,7 +126,7 @@ class DynamicGraph {
} }
//adds an edge. Invalidates edge iterators for the source node //adds an edge. Invalidates edge iterators for the source node
EdgeIterator InsertEdge( const NodeIterator &from, const NodeIterator &to, const EdgeData &data ) EdgeIterator InsertEdge( const NodeIterator &from, const NodeIterator &to, const EdgeDataT &data )
{ {
Node &node = m_nodes[from]; Node &node = m_nodes[from];
EdgeIterator newFirstEdge = node.edges + node.firstEdge; EdgeIterator newFirstEdge = node.edges + node.firstEdge;
@ -223,7 +224,7 @@ class DynamicGraph {
struct Edge { struct Edge {
NodeIterator target; NodeIterator target;
EdgeData data; EdgeDataT data;
}; };
NodeIterator m_numNodes; NodeIterator m_numNodes;