簡體   English   中英

BGL:我如何從捆綁對象到頂點描述符?

[英]BGL: how can I get from a bundled object to a vertex descriptor?

問題是關於Boost Graph Library (不幸的是沒有這樣的標簽)。

假設我已經通過使用Boost Graph Library捆綁屬性功能將Widget實例與圖形的每個頂點相關聯。 Widget實現operator== ,並與頂點相關聯的所有部件是不同的(即,對於任意一對頂點的widget1 != widget2保持用於與這些頂點相關聯的窗口小部件)。

該圖是否保持反向映射,即我可以輕松地檢索與給定對象相對應的頂點描述符嗎? 特別是,假設我有對象widget1widget2 ,並且相應的頂點已添加到圖中。 如何在兩個對象之間(即對應的頂點之間)添加一條邊?

我懷疑BGL本身無法提供從頂點屬性到相應頂點描述符的映射,因為通常該映射是m:1多對一。 許多頂點/描述符可以對應於同一屬性。 即使在您的情況下,您知道不同的頂點必須具有不同的屬性,但BGL通常無法得知。

創建圖形時,您可以自己維護此映射(例如vd_map ),例如使用std:map 在插入每個頂點及其屬性(在這種情況下為Widget )時,請插入相應的條目:

vd_map[widget] = desc;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM