From 80219a31e23ba7444d3d42e4b2d5b9c977658f5c Mon Sep 17 00:00:00 2001 From: DennisOSRM Date: Sat, 14 Apr 2012 15:28:45 +0200 Subject: [PATCH] Trim excess capacities --- Contractor/Contractor.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Contractor/Contractor.h b/Contractor/Contractor.h index 39398502a..e63cd48aa 100644 --- a/Contractor/Contractor.h +++ b/Contractor/Contractor.h @@ -119,8 +119,9 @@ public: edge.data.backward = currentEdge.isForward(); edges.push_back( edge ); } - //remove data from memory + //clear input vector and trim the current set of edges with the well-known swap trick std::vector< InputEdge >().swap( inputEdges ); + sort( edges.begin(), edges.end() ); NodeID edge = 0; for ( NodeID i = 0; i < edges.size(); ) { @@ -170,7 +171,8 @@ public: } std::cout << "ok" << "merged " << edges.size() - edge << " edges out of " << edges.size() << std::endl; edges.resize( edge ); - edges.swap(edges); + std::vector<_ImportEdge>(edges).swap(edges); + _graph.reset( new _DynamicGraph( nodes, edges ) ); std::vector< _ImportEdge >().swap( edges ); // unsigned maxdegree = 0;