【发布时间】:2021-05-03 09:56:26
【问题描述】:
在我正在使用的库的上下文中,创建一个类型,例如
struct my_name_t {
int aaa;
double bbb;
};
要求用户也定义和调用
HF::CompoundType create_my_name_type() {
return {{"aaa", HF::AtomicType<int>{}},
{"bbb", HF::AtomicType<double>{}}};
}
HIGHFIVE_REGISTER_TYPE(my_name_t, create_my_name_type)
第二个块是 100% 样板:第二个块中的每个字符都是第一个块内容的纯函数。唯一可以改变的是
- 结构的名称,
- 其成员的类型和名称。
此信息完全指定了其他所有内容。
可以使用哪些 C++ 元编程技术
- 从第一个块生成第二个块,或者
- 根据一些通用规范生成两者?
【问题讨论】:
标签: c++ metaprogramming