Я пытаюсь определить свою собственную грамматику, используя структуру духа ускорения, и я определяю такое правило сопоставления:
value = (
char_('"') >>
(*qi::lexeme[
char_('\\') >> char_('\\') |
char_('\\') >> char_('"') |
graph - char_('"') |
char_(' ')
])[some_func] >>
char_('"')
);
Я хотел бы применить действие some_func к его части и передать всю соответствующую строку в качестве параметра. Но, к сожалению, я получу что-то вроде vector<boost::variant<boost::fusion::vector2 ..a lot of stuff...)...>
. Могу ли я каким-то образом получить все данные в виде char *, std :: string или даже void * с размером?