gpt4 book ai didi

c++ - 如何获取 Boost Graph Library 中的属性类型

转载 作者:搜寻专家 更新时间:2023-10-31 02:06:07 26 4
gpt4 key购买 nike

在 Boost Graph Library (BGL) 中,如何以编程方式获取属性的类型,例如与 boost::edge_weight_t 关联的属性类型?

我搜索并找到了很多关于如何获取属性映射 类型的示例,但不是属性本身的类型。例如,BGL documentation下面有 edge_weight_t 的属性映射类型作为property_map<DirectedGraph, edge_weight_t>::type :

typedef ... DirectedGraph;
DirectedGraph digraph(V);
{
..
property_map<DirectedGraph, edge_weight_t>::type
weight = get(edge_weight, digraph);
}

但是如何获取边的权重类型呢? ( floatint 等)

如何使用适当的类型表达式(下面的???)为边权重声明变量,以便我可以从文件/流中读入这些权重值。

typedef ... DirectedGraph;
...
??? w;
input_s >> w;

最佳答案

正如@llonesmiz 在评论中指出的,对于属性映射类型

typedef property_map<Graph, boost::edge_weight_t>::type WeightMap

可以使用 property_traits 检索属性(权重)值的类型:

typedef typename boost::property_traits<WeightMap>::value_type edge_weight_type;

关于c++ - 如何获取 Boost Graph Library 中的属性类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50780651/

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