在我目前正在实施的算法中,有这条线(图中u
的顶点在哪里,并且Pred(u)
所有顶点的边都指向u
):
for all s ∈ Pred(u) ∪ {u}
我翻译成 boost::graph 代码的Pred(u)
部分如下:
boost::graph_traits<Graph>::in_edge_iterator in_begin, in_end;
boost::tie(in_begin, in_end) = boost::in_edges(u, G);
for(boost::graph_traits<Graph>::in_edge_iterator i = in_begin; i != in_end; ++i) {
// Do stuff
}
现在,我正在明确地Do stuff
在循环之外做这些事情u
,但我想在for
循环中做。是否有一些技巧可以创建迭代器,就好像u
从返回的一样boost::in_edges
?