From 52a48622972f9bea675f3997c7173c5ffa716be3 Mon Sep 17 00:00:00 2001 From: Tiago de Paula Peixoto Date: Fri, 28 Aug 2020 10:31:55 +0200 Subject: [PATCH] graph_adjacency.hh: slightly speedup edge removal --- src/graph/graph_adjacency.hh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/graph/graph_adjacency.hh b/src/graph/graph_adjacency.hh index 71ebb190..b91836ec 100644 --- a/src/graph/graph_adjacency.hh +++ b/src/graph/graph_adjacency.hh @@ -1034,19 +1034,18 @@ void remove_edge(const typename adj_list::edge_descriptor& e, if (!g._keep_epos) // O(k_s + k_t) { // remove and shift - auto remove_e = [&] (auto& elist, auto&& begin, auto&& end, auto v) + auto remove_e = [&] (auto& elist, auto&& begin, auto&& end) { auto iter = std::find_if(begin, end, [&] (const auto& ei) -> bool - { return v == ei.first && - idx == ei.second; }); + { return idx == ei.second; }); assert(iter != end); elist.erase(iter); }; - remove_e(s_es, s_es.begin(), s_es.begin() + s_pos, t); + remove_e(s_es, s_es.begin(), s_es.begin() + s_pos); s_pos--; - remove_e(t_es, t_es.begin() + t_pos, t_es.end(), s); + remove_e(t_es, t_es.begin() + t_pos, t_es.end()); } else // O(1) { -- GitLab