繁体   English   中英

BGL:是否可以使用C ++ 11的range遍历图形的顶点?

[英]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::beginstd::end 知道这一点,任何对象都可以与基于范围的循环兼容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM