[英]BGL: Is it possible to use range for of C++11 to loop over the vertices of the graph?
这个问题是关于Boost Graph Library
。
如何(如果可能的话)使用C ++ 11的循环范围遍历图形的顶点?
您可以进行一些编码。
让我们首先回顾一下如何在bgl中访问图形的顶点。 如果图g
实现了VertexListGraph概念,则可以调用vertices(g)
,该vertices(g)
将返回std::pair<vertex_iterator, vertex_iterator>
。
现在,您不能将一对用作范围,但是boost有一个帮手: iterator_range
未经测试的示例代码:
for(auto& vertex : make_iterator_range(vertices(g)))
对于任何对象,只要对象提供某种迭代器,就可以重载非成员std::begin
和std::end
。 知道这一点,任何对象都可以与基于范围的循环兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.