The Boost Preprocessing library is a library of macros, with support
for preprocessor metaprogramming. The library supports both C++ and C
compilation. It does not depend on any other Boost libraries and therefore
may be used as a standalone library.
An excerpt from C++ Template Metaprogramming: Concepts, Tools, and
Techniques from Boost and Beyond
by Dave Abrahams and Aleksey
Gurtovoy has been made available online
This excerpt contains a basic introduction to the Preprocessor library and
preprocessor metaprogramming which may help users new to the library and
users interested in seeing some of the facilities offered by the library.