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