0
假设我有一个应该被称为像这样的模板类:C++:如何创建一个从结构成员一个可变参数序列
struct mystruct
{
int member1;
long member2;
string member3;
};
现在我想创建一个boost::mpl::vector
,这将有效地遏制类型所有在结构中的成员(优选以相同的顺序):
using membervector1 = boost::mpl::vector<int, long, string>;
当然我想的语法相对于模板到我的结构,如下所示:
using membervector2 = some_smart_template<mystruct>;
static_assert(std::is_same<membervector1, membervector2>::value);
在我们获得静态反射之前,您必须使用类似[BOOST_FUSION_ADAPT_STRUCT](http://www.boost.org/doc/libs/1_62_0/libs/fusion/doc/html/fusion/adapted/adapt_struct的.html)。 – Quentin
@Quentin感谢您的建议。不幸的是'BOOST_FUSION_ADAPT_STRUCT'需要重复所有的结构成员。我想避免这种情况。 –