Dear Experts, I currently have something like:
struct S { string name; string value; }; BOOST_FUSION_ADAPT_STRUCT( S, name, value ) using S_rule = qi::rule<ITER, skipper, S()>; S_rule r %= identifier >> lit(':') >> identifier; Note that I can use %= here and I don't need to write an explicit semantic action to assign to S. Now say I modify S: class S { public: S(string name_, string value_); // May be default-constructable, copyable, assignable etc. // - but name and value are not individually assignable. }; Question: what is the best way to use that with the qi parser rule? I was hoping to find something in Fusion that would allow me to adapt the new class so that it can be used with %= as before, but I don't see anything appropriate. Currently the best that I can think of is: S_rule r = ( identifier >> lit(':') >> identifier ) [ _val = boost::phoenix::construct<S>(_1,_2) ]; How can I improve on that? Thanks, Phil. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users