boostorg / boostorg/graph

creation of nested subgraphs by vertex descriptors is broken/unintuitive

オープン
#378 コメント 17 件 リアクション 0 件 担当者 1 名 @jeremy-murphy が担当を希望しています GitHub で見る
data structure priority: medium
主要言語
C++
スター
392
フォーク
239
平均マージ
1日 11分
マージ済み PR(30日)
20

説明

When using `subgraph::create_subgraph(VertexIterator first, VertexIterator last)`, the vertex descriptors are interpreted as vertex descriptors into the root graph. (`add_vertex` expects the given descriptor to be a root graph descriptor).

My expectation is that the vertex descriptors should be interpreted as descriptors for the subgraph on which `create_subgraph` is called on. This way you can get a subgraph object, do some vertex selection logic on it and pass the set of selected vertices to `create_subgraph` without ever needing to worry where the graph is situated in the subgraph tree.

The fix is to replace line 197 `add_vertex(*first, *m_children.back());` with `add_vertex(local_to_global(*first), *m_children.back());`.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。