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.
The library assumes that the compiler supports variadic macros.
Since variadic macros are a C99 or C++11 feature the library
ostensibly requires at least compilation at those C or C++
standard levels. A number of compilers support variadic macros at
a lower level, so it still may be possible using the library at
the C++03 compilation level, as long as strict C++03 compliance is
not enforced.
An excerpt from
C++ Template Metaprogramming: Concepts,
Tools, and Techniques from Boost and Beyond by Dave Abrahams
and Aleksey Gurtovoy has been made
available.
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.