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'需要重複所有的結構成員。我想避免這種情況。 –