简体   繁体   English

嵌套的Boost融合结构

[英]Nested Boost Fusion Structs

Is it possible to define (or adapt) a Boost Fusion struct that contains member Boost Fusion structs in a single statement? 是否可以定义(或改编)在单个语句中包含成员Boost Fusion结构的Boost Fusion结构?

For example, how can I adapt or define something equivalent to this: 例如,如何修改或定义与此等效的内容:

struct Outer
{
   int i;
   float j;
   struct Nested
   { 
      int a;
   } nested;
};

Where both Outer and Outer::Nested are reflectable types. 其中“ Outer和“ Outer::Nested都是可反射类型。

Defining all the internal types in inside-out order is very messy and exposes internal types externally. 以内而外的顺序定义所有内部类型非常麻烦,并在外部公开内部类型。

You should be able to 'define' the inner struct using its fully qualified name: 您应该能够使用其完全限定名称来“定义”内部结构:

BOOST_FUSION_ADAPT_STRUCT(
  Outer::Nested,
  a
)

BOOST_FUSION_ADAPT_STRUCT(
  Outer,
  i,
  j,
  nested
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM