Выделение общих частей правил Духа
У меня есть много правил, которые имеют общий префикс и суффикс:
rule = begin_stuff >> some >> other >> stuff >> end_stuff.
(гдеbegin_stuff
а такжеend_stuff
составлены из литералов)
Я хотел быть в состоянии сказать
rule = wrapped(some >> other >> stuff);
Я попробовал что-то вроде
template Rule wrapped(Rule inside)
{
Rule result;
result = begin_stuff >> inside >> end_stuff;
return result;
}
но все, что я получаю, это много утверждений Ци во время компиляции.
Как я могу изменить правила Духа таким образом?