Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Generator Semantic Actions

Semantic Actions may be attached to any generator as follows:


where f is a function with the signatures:

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;

The unused_type is used in the signatures above to signify 'don't care'.

For more information see Semantic Actions.