gpt4 book ai didi

c++ - 使用 boost::adjacency_list 的自定义边属性迭代边

转载 作者:太空宇宙 更新时间:2023-11-04 12:37:25 26 4
gpt4 key购买 nike

我正在开发一个使用 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];

关于c++ - 使用 boost::adjacency_list 的自定义边属性迭代边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55784491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com