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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

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.