
"Not to 50!!!" - Princess Bride Things like mpl::vector and fusion::map have a configured limit like BOOST_MPL_LIMIT_VECTOR_SIZE. The documentation is dodgy and doesn't mention that while it is configurable you can't really configure it to be more than 50. Many people have stumbled here: http://boost.2283326.n4.nabble.com/msm-Boost-MPL-vector-limit-size-exceeded-... http://lists.boost.org/Archives/boost/2004/08/70900.php http://comments.gmane.org/gmane.comp.lib.boost.user/55679 http://lists.boost.org/Archives/boost/2010/09/170443.php Appearantly there are some scripts to generate these headers, but they may not work anymore. I had to rush hack things in my code to make several containers go over 50 in one compilation scope. #define ULTIMATE_N 70 #include <boost/mpl/vector/vector50.hpp> namespace boost { namespace mpl { # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(51, ULTIMATE_N, <boost/mpl/vector/aux_/numbered.hpp>)) # include BOOST_PP_ITERATE() }} I'd really like to fix this in boost. AFAICT all I have to do is find all *50.hpp files and replace the 50 with the appropriate config limit. I count 74 instances of this stuff going on! Mostly it's phoenix, mpl, and fusion. So to wrap it up my questions are: 1) Do the scripts still work? Does anyone use them? Are they regularly tested? 2) Does anyone see a problem with my simple fix? Chris