Вложенные структуры Boost Fusion
Можно ли определить (или адаптировать) структуру Boost Fusion, которая содержит элементы Boost Fusion в одном выражении?
Например, как я могу адаптировать или определить что-то эквивалентное этому:
struct Outer
{
int i;
float j;
struct Nested
{
int a;
} nested;
};
Где оба Outer
а также Outer::Nested
отражающие типы.
Определение всех внутренних типов в порядке наизнанку очень грязное и внешне раскрывает внутренние типы.
1 ответ
Вы должны быть в состоянии "определить" внутреннюю структуру, используя ее полное имя:
BOOST_FUSION_ADAPT_STRUCT(
Outer::Nested,
a
)
BOOST_FUSION_ADAPT_STRUCT(
Outer,
i,
j,
nested
)