Pre-processing of MPL-containers -------------------------------- Pre-processing of MPL-containers can be accomplished using the script "boost_mpl_preprocess.py". In the simple case call it with a single argument which is the path to the source-directory of Boost. python boost_mpl_preprocess.py If the Boost source-directory is the one this script resides in, you can just call it without any arguments. python boost_mpl_preprocess.py Either way, this will pre-process all four MPL-container types (vector, list, set, map) and makes them able to hold up to 100 elements. They can be used either in their 'numbered' or their 'variadic' form. Additionally, the script also allows more fine-grained pre-processing. The maximal number of elements an MPL-container type is able to hold can be different from the one of other MPL-container types and it can also differ between its 'numbered' and 'variadic' form. To see all options, call the script like this: python boost_mpl_preprocess.py --help Fixing pre-processing of MPL-containers --------------------------------------- Sadly, pre-processing of MPL-containers might fail, if the source-files used as input are missing some header-comments required during the pre- processing step. However, the script "boost_mpl_preprocess.py" makes sure to patch these input source-files prior to pre-processing (by implicitly calling script "fix_boost_mpl_preprocess.py" with the chosen settings). It only patches the source-files needed for pre-processing the selected MPL-container types and their selected form ('numbered' or 'variadic'). If calling it with a single (or no) argument (as in the former section) all input source-files will be patched automatically. Instead of fixing the input-files implicitly during pre-processing one can also fix them explicitly by calling "fix_boost_mpl_preprocess.py" directly. If you just want to test if any fixing is needed call it like this: python fix_boost_mpl_preprocess.py --check-only This will tell you if any fixing is needed. In such a case call the script "fix_boost_mpl_preprocess.py" like this: python fix_boost_mpl_preprocess.py This will fix the header-comments of all the source-files needed during pre-processing. Calling "boost_mpl_preprocess.py" afterwards should then successfully pre-process the MPL-containers (without the need of implicitly fixing any files again). Note: Failure of pre-processing can be checked by examining at least one of the following directories in which automatically generated files will be put during pre-processing. If at least one file in these directories (or sub- directories therein) has a size of zero bytes, fixing is needed. /boost/mpl/vector/aux_/preprocessed/ /boost/mpl/list/aux_/preprocessed/ /boost/mpl/set/aux_/preprocessed/ /boost/mpl/map/aux_/preprocessed/ /boost/mpl/aux_/preprocessed/