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.


Boost.Phoenix makes it easier to attach semantic actions. You just inline your lambda expressions:


Spirit.Karma provides some Boost.Phoenix placeholders to access important information from the Attrib and Context that are otherwise fiddly to extract.

Spirit.Karma specific Phoenix placeholders

_1, _2, ... , _N

Nth attribute of g


The enclosing rule's synthesized attribute.

_r1, _r2, ... , _rN

The enclosing rule's Nth inherited attribute.

_a, _b, ... , _j

The enclosing rule's local variables (_a refers to the first).


Assign false to _pass to force a generator failure.

[Important] Important

All placeholders mentioned above are defined in the namespace boost::spirit and, for your convenience, are available in the namespace boost::spirit::karma as well.

For more information see Semantic Actions.