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?