1Pre-processing of MPL-containers 2-------------------------------- 3 4Pre-processing of MPL-containers can be accomplished using the script 5"boost_mpl_preprocess.py". In the simple case call it with a single 6argument which is the path to the source-directory of Boost. 7 8 python boost_mpl_preprocess.py <path-to-boost-sourcedir> 9 10If the Boost source-directory is the one this script resides in, you 11can just call it without any arguments. 12 13 python boost_mpl_preprocess.py 14 15Either way, this will pre-process all four MPL-container types (vector, 16list, set, map) and makes them able to hold up to 100 elements. They can 17be used either in their 'numbered' or their 'variadic' form. 18 19Additionally, the script also allows more fine-grained pre-processing. 20The maximal number of elements an MPL-container type is able to hold can 21be different from the one of other MPL-container types and it can also 22differ between its 'numbered' and 'variadic' form. 23To see all options, call the script like this: 24 25 python boost_mpl_preprocess.py --help 26 27 28Fixing pre-processing of MPL-containers 29--------------------------------------- 30 31Sadly, pre-processing of MPL-containers might fail, if the source-files 32used as input are missing some header-comments required during the pre- 33processing step. 34However, the script "boost_mpl_preprocess.py" makes sure to patch these 35input source-files prior to pre-processing (by implicitly calling script 36"fix_boost_mpl_preprocess.py" with the chosen settings). It only patches 37the source-files needed for pre-processing the selected MPL-container 38types and their selected form ('numbered' or 'variadic'). 39If calling it with a single (or no) argument (as in the former section) 40all input source-files will be patched automatically. 41 42Instead of fixing the input-files implicitly during pre-processing one 43can also fix them explicitly by calling "fix_boost_mpl_preprocess.py" 44directly. 45If you just want to test if any fixing is needed call it like this: 46 47 python fix_boost_mpl_preprocess.py --check-only <path-to-boost-sourcedir> 48 49This will tell you if any fixing is needed. In such a case call the script 50"fix_boost_mpl_preprocess.py" like this: 51 52 python fix_boost_mpl_preprocess.py <path-to-boost-sourcedir> 53 54This will fix the header-comments of all the source-files needed during 55pre-processing. Calling "boost_mpl_preprocess.py" afterwards should then 56successfully pre-process the MPL-containers (without the need of implicitly 57fixing any files again). 58 59Note: 60Failure of pre-processing can be checked by examining at least one of the 61following directories in which automatically generated files will be put 62during pre-processing. If at least one file in these directories (or sub- 63directories therein) has a size of zero bytes, fixing is needed. 64 65 <path-to-boost-sourcedir>/boost/mpl/vector/aux_/preprocessed/ 66 <path-to-boost-sourcedir>/boost/mpl/list/aux_/preprocessed/ 67 <path-to-boost-sourcedir>/boost/mpl/set/aux_/preprocessed/ 68 <path-to-boost-sourcedir>/boost/mpl/map/aux_/preprocessed/ 69 <path-to-boost-sourcedir>/boost/mpl/aux_/preprocessed/ 70 71