構造があれば
struct price
{
int chicken;
int cow;
bool in_stock;
std::string place;
};
これは、boost::fusion を使用して適応されます。それを解析する必要がある場合、オプションで in_stock と place の場合。例えば
template <typename it, typename skipper = qi::space_type>
struct p : qi::grammar<it, price(), skipper>
{
p() : p::base_type(p_instance)
{
using namespace qi;
psr %= int_ > int_ > -bool_ > -('"' > char_ % ',' > '"');
}
private:
qi::rule<it,price(),skipper> limit;
};
ただし、これは機能しません。入力が の場合、例外がスローされます"2 3 \"Chili\""
。解決策とは?