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