![](/img/trans.png)
[英]Getting edge properties (including related vertices) from boost::adjacency_list
[英]Iterating through edges with custom defined edge properties of boost::adjacency_list
我正在開發一個使用boost :: adjacency_list表示圖形的仿真程序。 邊緣具有服裝設計的屬性
struct edge_data{
const float linear_cost, const_cost;
std::queue<*Agent> agents;
edge_data(float lin, float con) : linear_cost(lin),const_cost(con) {}
};
在嘗試了幾種方法之后,我還沒有找到創建為每個邊緣返回完整EdgeData的property_map的方法,或以其他方式遍歷和修改邊緣的方法。 有可能,如果可以,如何?
您可以從圖中詢問邊緣束
使用boost::edge_bundle_t
屬性圖:
auto pmap = boost::get(boost::edge_bundle, my_graph); edge_data& data = pmap[my_edge_descriptor];
使用便捷訪問器:
edge_data& data = mygraph[my_edge_descriptor];
或將特定的屬性映射用於子屬性:
auto costmap = boost::get(&edge_data::linear_cost, my_graph); float cost = costmap[my_edge_descriptor];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.