From c991510b0f6e6ace95c4c5eaa02263217fe34789 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Tue, 24 Sep 2013 10:10:50 +0200 Subject: [PATCH] minor simplification of code --- RoutingAlgorithms/AlternativePathRouting.h | 6 +- RoutingAlgorithms/BasicRoutingInterface.h | 76 ++++++++++++++-------- 2 files changed, 52 insertions(+), 30 deletions(-) diff --git a/RoutingAlgorithms/AlternativePathRouting.h b/RoutingAlgorithms/AlternativePathRouting.h index 11817bb24..3d1c2ad6e 100644 --- a/RoutingAlgorithms/AlternativePathRouting.h +++ b/RoutingAlgorithms/AlternativePathRouting.h @@ -379,7 +379,7 @@ private: } for ( EdgeID edge = facade->BeginEdges( node ); edge < facade->EndEdges(node); edge++ ) { - const typename DataFacadeT::EdgeData & data = facade->GetEdgeData(edge); + const EdgeData & data = facade->GetEdgeData(edge); bool forwardDirectionFlag = (forwardDirection ? data.forward : data.backward ); if(forwardDirectionFlag) { @@ -469,7 +469,7 @@ private: EdgeID edgeIDInViaPath = facade->FindEdgeInEitherDirection(viaPathEdge.first, viaPathEdge.second); if(UINT_MAX == edgeIDInViaPath) return false; - typename DataFacadeT::EdgeData currentEdgeData = facade->GetEdgeData(edgeIDInViaPath); + EdgeData currentEdgeData = facade->GetEdgeData(edgeIDInViaPath); bool IsViaEdgeShortCut = currentEdgeData.shortcut; if (IsViaEdgeShortCut) { const NodeID middleOfViaPath = currentEdgeData.id; @@ -510,7 +510,7 @@ private: EdgeID edgeIDInViaPath = facade->FindEdgeInEitherDirection(viaPathEdge.first, viaPathEdge.second); if(UINT_MAX == edgeIDInViaPath) return false; - typename DataFacadeT::EdgeData currentEdgeData = facade->GetEdgeData(edgeIDInViaPath); + EdgeData currentEdgeData = facade->GetEdgeData(edgeIDInViaPath); const bool IsViaEdgeShortCut = currentEdgeData.shortcut; if (IsViaEdgeShortCut) { const NodeID middleOfViaPath = currentEdgeData.id; diff --git a/RoutingAlgorithms/BasicRoutingInterface.h b/RoutingAlgorithms/BasicRoutingInterface.h index 25943f3c8..f976aea76 100644 --- a/RoutingAlgorithms/BasicRoutingInterface.h +++ b/RoutingAlgorithms/BasicRoutingInterface.h @@ -49,6 +49,8 @@ SearchEngineData::SearchEngineHeapPtr SearchEngineData::backwardHeap3; template class BasicRoutingInterface : boost::noncopyable { +private: + typedef typename DataFacadeT::EdgeData EdgeData; protected: DataFacadeT * facade; public: @@ -87,8 +89,8 @@ public: edge < facade->EndEdges(node); ++edge ) { - const typename DataFacadeT::EdgeData & data = facade->GetEdgeData(edge); - bool reverse_flag = (!forward_direction) ? data.forward : data.backward; + const EdgeData & data = facade->GetEdgeData(edge); + const bool reverse_flag = (!forward_direction) ? data.forward : data.backward; if( reverse_flag ) { const NodeID to = facade->GetTarget(edge); const int edge_weight = data.distance; @@ -103,8 +105,12 @@ public: } } - for ( EdgeID edge = facade->BeginEdges( node ); edge < facade->EndEdges(node); ++edge ) { - const typename DataFacadeT::EdgeData & data = facade->GetEdgeData(edge); + for( + EdgeID edge = facade->BeginEdges(node), end_edge = facade->EndEdges(node); + edge < end_edge; + ++edge + ) { + const EdgeData & data = facade->GetEdgeData(edge); bool forward_directionFlag = (forward_direction ? data.forward : data.backward ); if( forward_directionFlag ) { @@ -149,34 +155,42 @@ public: EdgeID smaller_edge_id = SPECIAL_EDGEID; int edge_weight = INT_MAX; - for(EdgeID eit = facade->BeginEdges(edge.first);eit < facade->EndEdges(edge.first);++eit){ - const int weight = facade->GetEdgeData(eit).distance; + for( + EdgeID edge_id = facade->BeginEdges(edge.first); + edge_id < facade->EndEdges(edge.first); + ++edge_id + ){ + const int weight = facade->GetEdgeData(edge_id).distance; if( - (facade->GetTarget(eit) == edge.second) && - (weight < edge_weight) && - facade->GetEdgeData(eit).forward + (facade->GetTarget(edge_id) == edge.second) && + (weight < edge_weight) && + facade->GetEdgeData(edge_id).forward ){ - smaller_edge_id = eit; + smaller_edge_id = edge_id; edge_weight = weight; } } if( SPECIAL_EDGEID == smaller_edge_id ){ - for(EdgeID eit = facade->BeginEdges(edge.second); eit < facade->EndEdges(edge.second); ++eit){ - const int weight = facade->GetEdgeData(eit).distance; + for( + EdgeID edge_id = facade->BeginEdges(edge.second); + edge_id < facade->EndEdges(edge.second); + ++edge_id + ){ + const int weight = facade->GetEdgeData(edge_id).distance; if( - (facade->GetTarget(eit) == edge.first) && + (facade->GetTarget(edge_id) == edge.first) && (weight < edge_weight) && - facade->GetEdgeData(eit).backward + facade->GetEdgeData(edge_id).backward ){ - smaller_edge_id = eit; + smaller_edge_id = edge_id; edge_weight = weight; } } } BOOST_ASSERT_MSG(edge_weight != INT_MAX, "edge id invalid"); - const typename DataFacadeT::EdgeData& ed = facade->GetEdgeData(smaller_edge_id); + const EdgeData& ed = facade->GetEdgeData(smaller_edge_id); if( ed.shortcut ) {//unpack const NodeID middle_node_id = ed.id; //again, we need to this in reversed order @@ -211,34 +225,42 @@ public: EdgeID smaller_edge_id = SPECIAL_EDGEID; int edge_weight = INT_MAX; - for(EdgeID eit = facade->BeginEdges(edge.first);eit < facade->EndEdges(edge.first);++eit){ - const int weight = facade->GetEdgeData(eit).distance; + for( + EdgeID edge_id = facade->BeginEdges(edge.first); + edge_id < facade->EndEdges(edge.first); + ++edge_id + ){ + const int weight = facade->GetEdgeData(edge_id).distance; if( - (facade->GetTarget(eit) == edge.second) && + (facade->GetTarget(edge_id) == edge.second) && (weight < edge_weight) && - facade->GetEdgeData(eit).forward + facade->GetEdgeData(edge_id).forward ){ - smaller_edge_id = eit; + smaller_edge_id = edge_id; edge_weight = weight; } } if( SPECIAL_EDGEID == smaller_edge_id ){ - for(EdgeID eit = facade->BeginEdges(edge.second);eit < facade->EndEdges(edge.second);++eit){ - const int weight = facade->GetEdgeData(eit).distance; + for( + EdgeID edge_id = facade->BeginEdges(edge.second); + edge_id < facade->EndEdges(edge.second); + ++edge_id + ){ + const int weight = facade->GetEdgeData(edge_id).distance; if( - (facade->GetTarget(eit) == edge.first) && + (facade->GetTarget(edge_id) == edge.first) && (weight < edge_weight) && - facade->GetEdgeData(eit).backward + facade->GetEdgeData(edge_id).backward ){ - smaller_edge_id = eit; + smaller_edge_id = edge_id; edge_weight = weight; } } } BOOST_ASSERT_MSG(edge_weight != INT_MAX, "edge weight invalid"); - const typename DataFacadeT::EdgeData& ed = facade->GetEdgeData(smaller_edge_id); + const EdgeData& ed = facade->GetEdgeData(smaller_edge_id); if(ed.shortcut) {//unpack const NodeID middle_node_id = ed.id; //again, we need to this in reversed order