| 114 | * Every edge must satisfy the predicate. */ |
| 115 | template<typename Graph, typename OutIt, typename Predicate> |
| 116 | OutIt |
| 117 | assemble_if(const Graph& g, typename Graph::vertex_descriptor u, OutIt out, Predicate pred) |
| 118 | { |
| 119 | typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor; |
| 120 | while (contiguous_out(g, u)) { |
| 121 | edge_descriptor e = *out_edges(u, g).first; |
| 122 | if (!pred(e)) |
| 123 | break; |
| 124 | *out++ = u; |
| 125 | u = target(e, g); |
| 126 | } |
| 127 | *out++ = u; |
| 128 | return out; |
| 129 | } |
| 130 | |
| 131 | /** Remove vertices in the sequence [first, last) from the graph |
| 132 | * for which the predicate p is true. Edges incident to those vertices |
no test coverage detected