Семантические действия могут быть присоединены к любому генератору следующим образом:
g[f]
где<f>- функция с подписями:
void f(Attrib&);
void f(Attrib&, Context&);
void f(Attrib&, Context&, bool&);
Вы можете использоватьBoost.Bindдля связывания функций члена. Для объектов функций допустимыми подписями являются:
void operator()(Attrib&, unused_type, unused_type) const;
void operator()(Attrib&, Context&, unused_type) const;
void operator()(Attrib&, Context&, bool&) const;
<unused_type>используется в подписях выше для обозначения «не важно».
Больше информации см.Семантические действия.