Externalized even more of the temporary data structures.

This commit is contained in:
DennisOSRM
2012-04-26 14:03:01 +02:00
parent 44af60563d
commit 8c2bd8bd88
2 changed files with 19 additions and 11 deletions
+6 -1
View File
@@ -52,12 +52,15 @@ class DynamicGraph {
m_edges.reserve( m_numNodes * 1.1 );
m_edges.resize( m_numNodes );
}
DynamicGraph( int nodes, const std::vector< InputEdge > &graph )
template<class ContainerT>
DynamicGraph( int nodes, const ContainerT &graph )
{
m_numNodes = nodes;
m_numEdges = ( EdgeIterator ) graph.size();
m_nodes.reserve( m_numNodes );
INFO("reserved nodes");
m_nodes.resize( m_numNodes );
INFO("resized nodes");
EdgeIterator edge = 0;
EdgeIterator position = 0;
for ( NodeIterator node = 0; node < m_numNodes; ++node ) {
@@ -70,7 +73,9 @@ class DynamicGraph {
position += m_nodes[node].edges;
}
m_edges.reserve( position * 1.1 );
INFO("reserced edges");
m_edges.resize( position );
INFO("resized edges");
edge = 0;
for ( NodeIterator node = 0; node < m_numNodes; ++node ) {
for ( EdgeIterator i = m_nodes[node].firstEdge, e = m_nodes[node].firstEdge + m_nodes[node].edges; i != e; ++i ) {