@@ -749,40 +749,36 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
749749 // next to the normal restrictions tracked in `entry_allowed`, via
750750 // ways might introduce additional restrictions. These are handled
751751 // here when turning off a via-way
752- const auto add_unrestricted_turns =
753- [&](const auto duplicated_node_id) {
754- const auto from_id =
755- m_number_of_edge_based_nodes -
756- way_restriction_map.NumberOfDuplicatedNodes () +
757- duplicated_node_id;
758-
759- auto const node_at_end_of_turn =
760- m_node_based_graph->GetTarget (turn.eid );
761-
762- const auto is_restricted = way_restriction_map.IsRestricted (
763- duplicated_node_id, node_at_end_of_turn);
764-
765- if (is_restricted)
766- return ;
767-
768- // add into delayed data
769- auto edge_with_data = generate_edge (
770- NodeID (from_id),
771- m_node_based_graph->GetEdgeData (turn.eid ).edge_id ,
772- node_along_road_entering,
773- incoming_edge,
774- node_at_center_of_intersection,
775- turn.eid ,
776- intersection,
777- turn,
778- entry_class_id);
779-
780- buffer->delayed_data .push_back (std::move (edge_with_data));
781- };
782-
783- std::for_each (duplicated_nodes.begin (),
784- duplicated_nodes.end (),
785- add_unrestricted_turns);
752+ for (auto duplicated_node_id : duplicated_nodes)
753+ {
754+ const auto from_id =
755+ m_number_of_edge_based_nodes -
756+ way_restriction_map.NumberOfDuplicatedNodes () +
757+ duplicated_node_id;
758+
759+ auto const node_at_end_of_turn =
760+ m_node_based_graph->GetTarget (turn.eid );
761+
762+ const auto is_restricted = way_restriction_map.IsRestricted (
763+ duplicated_node_id, node_at_end_of_turn);
764+
765+ if (is_restricted)
766+ continue ;
767+
768+ // add into delayed data
769+ auto edge_with_data = generate_edge (
770+ NodeID (from_id),
771+ m_node_based_graph->GetEdgeData (turn.eid ).edge_id ,
772+ node_along_road_entering,
773+ incoming_edge,
774+ node_at_center_of_intersection,
775+ turn.eid ,
776+ intersection,
777+ turn,
778+ entry_class_id);
779+
780+ buffer->delayed_data .push_back (std::move (edge_with_data));
781+ }
786782 }
787783 }
788784 }
0 commit comments