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 requires 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 that compilation
      level, as long as strict C++98/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.