Uwzględnianie wspólnych części zasad Ducha

Mam wiele reguł, które mają wspólny prefiks i sufiks:

rule = begin_stuff >> some >> other >> stuff >> end_stuff.

(gdziebegin_stuff iend_stuff są złożone z literałów)

Chciałem móc powiedzieć

 rule = wrapped(some >> other >> stuff);

Próbowałem czegoś na wzór

  template<typename Rule> Rule wrapped(Rule inside) 
  {
    Rule result;
    result = begin_stuff >> inside >> end_stuff;
    return result;
  }

ale wszystko, co dostaję, to wiele potwierdzeń kompilacji z Qi.

Jak mogę w ten sposób zmienić zasady Ducha?

questionAnswers(2)

yourAnswerToTheQuestion