istream parse EVENT_TYPE (param1; param2;…)

я пытаюсь найти элегантный способ синтаксического анализа строки, например:

EVENT_TYPE(param1;param2; ...)

EVENT_TYPE - одна из многих строковых констант, каждая из которых имеет ноль или более параметров. До сих пор я думал, что, учитывая, что строка «s» содержит EVENT_TYPE (param1; param2), я бы написал:

if (boost::istarts_with(s, "EVENT_TYPE")) {
  std::istringstream iss(s);
  int param1, param2;
  iss >> "EVENT_TYPE(" >> param1 >> ";" >> param2 >> ")";
}

Было бы неплохо дать const string & и сказать таким образом «пропустите эти символы» . Что ж, это не так. Как бы ВЫ ТАМ это сделали? : -)

Спасибо за совет!

1
задан BayerMeister 29 September 2010 в 17:04
поделиться