gpt4 book ai didi

c++ - 是否可以反向使用 boost fusion map,也就是 key 是 567,value 是 type ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:01 28 4
gpt4 key购买 nike

我想要value to type map,据我所知,boost fusion 使用的 map 使用 pair,其中 type 始终是第一个成员(因此它是 map 中的键)?

map_type m(
fusion::make_pair<int>('X')
, fusion::make_pair<double>("Men"));

是否可以将值(例如上面示例中的“X”)作为键并键入值?如果不能,我至少可以根据值进行过滤(这很慢所以很高兴知道我是否可以根据第二个参数对 fusion vector 进行排序并在其上使用 binary_search(再次使用查看值而不是键的自定义比较器) .

最佳答案

可能不是在 boost::fusion 中,而是在获取运行时值列表并根据存在的匹配项调用具有类型的仿函数的技巧。我称之为魔法开关。

您需要在编译时枚举类型,然后将运行时类型与偏移量关联到所述列表中。 tuple 已经为您将索引映射到类型。

您不能返回类型,但您可以使用该类型调用传入的模板函数。

但是,在走这条路之前,您应该心中有一个具体的目标,看看是否;解决它的方法比较简单。

关于c++ - 是否可以反向使用 boost fusion map,也就是 key 是 567,value 是 type ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391807/

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