A little time with the Boost.Preprocessor library documentation should get you going. <http://www.boost.org/doc/libs/1_46_1/libs/preprocessor/doc/index.html>