为Boost Fusion调整空结构

时间:2013-09-16 15:17:10

标签: c++ boost boost-fusion

我有一个空结构:

struct MyStruct {};

我想让它适应Boost Fusion使用。通常我会使用BOOST_FUSION_ADAPT_STRUCT,但是这个宏需要两个参数来命名结构并列出其字段。反正有没有告诉宏这些字段是不存在的?

动机:我正在使用Boost Spirit来定义解析器。该结构用于boost::variant,然后传递给boost::apply_visitor()。鉴于boost::fusion::for_each()处理,变体中的其他一些项目。

2 个答案:

答案 0 :(得分:3)

我尝试传递/**/作为第二个参数,并为我编译(g ++ - 4.6.2)。

    BOOST_FUSION_ADAPT_STRUCT(MyStruct, /**/);

答案 1 :(得分:0)

尝试传递BOOST_PP_EMPTY。不能保证它会起作用,但考虑到实施它似乎很可能。