Boost C++ Libraries

...one 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.
PrevUpHomeNext

Semantic Actions

Has the form:

l[f]

where f is a function with the signatures:

void f();
void f(Iterator&, Iterator&);
void f(Iterator&, Iterator&, pass_flag&);
void f(Iterator&, Iterator&, pass_flag&, Idtype&);
void f(Iterator&, Iterator&, pass_flag&, Idtype&, Context&);

You can use Boost.Bind to bind member functions. For function objects, the allowed signatures are:

void operator()(unused_type, unused_type, unused_type, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, unused_type, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, unused_type, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, Idtype&, unused_type) const;
void operator()(Iterator&, Iterator&, pass_flag&, Idtype&, Context&) const;

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

For more information see Lexer Semantic Actions.


PrevUpHomeNext