![](/img/trans.png)
[英]How to use `boost::dynamic_properties` with vector valued property maps?
[英]Boost Dynamic Properties with Custom get property
我正在嘗試將 boost::dynamic 屬性用於 Graphviz 輸出的多個屬性。
我熟悉自定義屬性編寫器( 如何在顯示多個屬性的 graphviz 中打印圖形),但我正在嘗試對動態屬性執行相同的操作。 我們如何使用以下代碼中的動態屬性編寫上述邊緣屬性編寫器? 我想在重量和容量的值上編寫 if else 語句,如 if(weight <5 && capacity <5) then color = red 等等。
boost::dynamic_properties dp/*(ignore_other_properties)*/;
dp.property("node_id", get(&vert::name, g));
dp.property("color", get(??,g));
write_graphviz_dp(std::cout, g, dp);
在此處查看一些選項: 將設置/獲取請求映射到 C++ 類/結構更改
您可以轉換一個屬性映射的結果,也可以完全使用功能屬性映射。
使用動態屬性轉換顏色屬性的示例如下: Manually coloring of boost's graphs
function_property_map
以及boost dijkstra_shortest_paths的示例:無法提取(或找到?)路徑(路徑包含一個循環) 請注意,您還有make_constant_property_map
(例如, 使用自定義獲取屬性提升動態屬性)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.