
Untitled
By: a guest on
Jul 6th, 2012 | syntax:
None | size: 0.94 KB | hits: 13 | expires: Never
Boost.Spirit.Qi: Take a rule's attribute and set it as a field of an enclosing rule's struct attribute?
struct Integer {
int value;
};
BOOST_FUSION_ADAPT_STRUCT(Integer, (int, value))
qi::rule<Iterator, Integer> integer;
integer = qi::int_;
qi::phrase_parse(iter, end, g, space, myInteger);
integer = qi::int_[qi::_val = qi::_1]; //compiles, uninitialized value
integer = qi::int_[qi::_r1 = qi::_1]; //doesn't compile
integer = qi::int_[phoenix::bind(&Integer::value, qi::_val) = qi::_1]; //doesn't
integer = qi::int_[phoenix::at_c<0>(qi::_val) = qi::_1]; //doesn't
qi::rule<Iterator, Integer()> integer;
integer = qi::int_[qi::_val = qi::_1];
struct Integer {
int value;
Integer& operator=(int) {...}
};
integer = qi::int_ >> qi::eps;
integer = qi::int_[qi::_r1 = qi::_1];
integer = qi::int_[phoenix::bind(&Integer::value, qi::_val) = qi::_1];
integer = qi::int_[phoenix::at_c<0>(qi::_val) = qi::_1];