通过宏扩展boost :: variant

时间:2018-06-28 20:54:56

标签: c++ c++11 boost variant

假设我通过宏扩展定义了1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 类。我想注册每个类,然后为n生成boost :: variant之类的

n = 2

我看到我可以使用它:

// GeneratedClass_0 generated by macro
// GeneratedClass_1 generated by macro
boost::variant<GeneratedClass_0, GeneratedClass_1> v_class;

但是,即使我看不到列表,每个编译器也不支持using namespace boost; typedef mpl::vector< GeneratedClass_0 > DefaultTypes; typedef mpl::push_front< DefaultTypes, GeneratedClass_1 >::type ExtendedTypes; typedef boost::make_variant_over< ExtendedTypes >::type v_class;

0 个答案:

没有答案