MCPcopy Create free account
hub / github.com/BirolLab/abyss / remove_edge_if

Method remove_edge_if

Graph/DirectedGraph.h:299–311  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297 /** Remove edges that satisfy the predicate. */
298 template <typename Predicate>
299 void remove_edge_if(vertex_descriptor u, Predicate predicate)
300 {
301 typename Edges::iterator out = m_edges.begin();
302 for (typename Edges::iterator it = m_edges.begin();
303 it != m_edges.end(); ++it) {
304 if (!predicate(edge_descriptor(u, it->target()))) {
305 if (out != it)
306 *out = *it;
307 ++out;
308 }
309 }
310 m_edges.erase(out, m_edges.end());
311 }
312
313 private:
314 Edges m_edges;

Callers

nothing calls this directly

Calls 4

eraseMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
targetMethod · 0.45

Tested by

no test coverage detected