gpt4 book ai didi

C++:标签/特征模板:确保标签只绑定(bind)一次

转载 作者:太空狗 更新时间:2023-10-29 23:16:53 25 4
gpt4 key购买 nike

标题可能太模糊了,我会解释我的意思。

我正在开发一个用于处理 TLV 编码值的帮助程序库。在库中,每个值都包含一个标签 ID、标签类型代码和适当 native 类型的标签值。这种标记值容器由在标记 id 和关联类型特征(声明标记值的属性)上参数化的模板类实现。现在我希望能够确保一个标签 ID 仅与一个特征相关联,这样我就无法创建具有相同标签 ID 但不同数据类型的 TLV 值。所以这是一种标签词汇表,只在编译时检查。

template<uint_t TagId, typename Trait>
struct TagBinder
{
enum { my_id = TagId };
// stuff skipped
};

我想确定TagBinder<100, IntTrait>TagBinder<100, BoolTrait>不会一起编译。我想知道这是否可能。 boost MPL 中是否有我可以使用的东西?我试图避免的一件事是宏。另外,不幸的是,C++11 是不可能的。

提前致谢!

最佳答案

所以我不得不承认我的问题没有答案。似乎没有办法在纯 c++ 中实现我想要的。

关于C++:标签/特征模板:确保标签只绑定(bind)一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562676/

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