簡體   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