在我目前正在实施的算法中,有这条线(图中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?