...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
Semantic Actions may be attached to any generator as follows:
f is a function with
void f(Attrib&); void f(Attrib&, Context&); void f(Attrib&, Context&, bool&);
You can use Boost.Bind to bind member functions. For function objects, the allowed signatures are:
void operator()(Attrib&, unused_type, unused_type) const; void operator()(Attrib&, Context&, unused_type) const; void operator()(Attrib&, Context&, bool&) const;
unused_type is used
in the signatures above to signify 'don't care'.
For more information see Semantic Actions.