【发布时间】:2021-10-10 14:28:03
【问题描述】:
是否有编译时映射的规范/参考实现,它将类型映射到类型?
例如,我需要来自IBar -> IFoo 或int -> IFoo 的类型映射。
在编译时,当给定 IBar 时,我可以选择 IFoo。
如何使用 C++17 解决这个问题?
编辑:这是一个使用结构体https://godbolt.org/z/EEvrYd9PE的示例
【问题讨论】:
-
你能展示一下你想如何使用它吗?
-
您可以在一个地方定义它还是需要在许多标题中添加新类型?
-
@GuillaumeRacicot:一个地方就足够了。我知道编译时类型列表,并且需要一个编译时类型映射来进行类型选择。
-
您需要如何访问地图?遍历它?使用密钥就可以了?
-
@GuillaumeRacicot:不需要迭代。只需简单的键查找。
标签: c++ template-meta-programming compile-time type-mapping