[英]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.