Используя boost.spirit, я пытаюсь разобрать простую командную строку вида command:param1 param2...
для этого я создал этот парсер:
(+(char_ - ':'))[ref(cmd) = _1]
>> ':'
>> (*char_)[ref(params) = _1]
Типы атрибутов двух составных синтаксических анализаторов являются векторными, поэтому, если cmd и params имеют векторный тип, это работает. Однако, если они имеют тип std::string, это не так. При поиске этого решения в Интернете я нашел подсказку, что оно также должно работать со строкой. В любом случае я могу заставить это работать со строкой?