Usage may be clearer with some code.... leaving out pp includes. The file models/Furnace.h includes <boost/mpl/list.hpp>
---- IncludeAllModels.h #define SUBCLASS_LIST \ BOOST_PP_TUPLE_TO_LIST( \ 3, \ ( \ Slitter, \ Scalper, \ Furnace \ ) \ ) \ //< List of all models #define FILE_SUFFIX .h #define FILE_PATH models/ #define LIST SUBCLASS_LIST #include "ComputedInclude.h" ---- ComputedInclude.h #define LIST_SIZE BOOST_PP_LIST_SIZE (LIST) #define ITER_SIZE BOOST_PP_DEC (LIST_SIZE) #define BOOST_PP_ITERATION_LIMITS (0, ITER_SIZE) #define BOOST_PP_FILENAME_1 "ComputedIncludeIteration.h" #define HARPS_CI 1 #include BOOST_PP_ITERATE() #undef HARPS_CI ---- ComputedIncludeIteration.h #define ITER BOOST_PP_ITERATION() #define THIS_ITEM BOOST_PP_LIST_AT ( LIST, ITER) #define FILE_NAME BOOST_PP_CAT (THIS_ITEM, FILE_SUFFIX) #define FULL_NAME BOOST_PP_CAT (FILE_PATH, FILE_NAME) #define FN BOOST_PP_STRINGIZE (FULL_NAME) #include FN _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost