3

構造があれば

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\""。解決策とは?

4

1 に答える 1