@@ -71,37 +71,38 @@ struct ContractedEdgeContainer
7171 auto flags_iter = flags.begin ();
7272
7373 // Remove all edges that are contained in the old set of edges and set the appropriate flag.
74- auto new_end = std::remove_if (new_edges.begin (), new_edges.end (), [&](const auto &edge) {
75- // check if the new edge would be sorted before the currend old edge
76- // if so it is not contained yet in the set of old edges
77- if (edge_iter == edge_end || mergeCompare (edge, *edge_iter))
78- {
74+ auto new_end =
75+ std::remove_if (new_edges.begin (), new_edges.end (), [&](const QueryEdge &edge) {
76+ // check if the new edge would be sorted before the currend old edge
77+ // if so it is not contained yet in the set of old edges
78+ if (edge_iter == edge_end || mergeCompare (edge, *edge_iter))
79+ {
80+ return false ;
81+ }
82+
83+ // find the first old edge that is equal or greater then the new edge
84+ while (edge_iter != edge_end && mergeCompare (*edge_iter, edge))
85+ {
86+ BOOST_ASSERT (flags_iter != flags.end ());
87+ edge_iter++;
88+ flags_iter++;
89+ }
90+
91+ // all new edges will be sorted after the old edges
92+ if (edge_iter == edge_end)
93+ {
94+ return false ;
95+ }
96+
97+ BOOST_ASSERT (edge_iter != edge_end);
98+ if (mergable (edge, *edge_iter))
99+ {
100+ *flags_iter = *flags_iter | flag;
101+ return true ;
102+ }
103+ BOOST_ASSERT (mergeCompare (edge, *edge_iter));
79104 return false ;
80- }
81-
82- // find the first old edge that is equal or greater then the new edge
83- while (edge_iter != edge_end && mergeCompare (*edge_iter, edge))
84- {
85- BOOST_ASSERT (flags_iter != flags.end ());
86- edge_iter++;
87- flags_iter++;
88- }
89-
90- // all new edges will be sorted after the old edges
91- if (edge_iter == edge_end)
92- {
93- return false ;
94- }
95-
96- BOOST_ASSERT (edge_iter != edge_end);
97- if (mergable (edge, *edge_iter))
98- {
99- *flags_iter = *flags_iter | flag;
100- return true ;
101- }
102- BOOST_ASSERT (mergeCompare (edge, *edge_iter));
103- return false ;
104- });
105+ });
105106
106107 // append new edges
107108 edges.insert (edges.end (), new_edges.begin (), new_end);
0 commit comments