Boost logo

Boost :

Subject: [boost] [mpl] +[fusion] + [phoenix] undocumented hard-coded limit=50
From: Hite, Christopher (Christopher.Hite_at_[hidden])
Date: 2012-03-19 13:24:51


This is a re-post of " [boost] BOOST_PP_ITERATE for huge mpl and fusion". I think problem may be that I didn't target a particular library because it happens in three.

There is an undocumented hard-coded limit of 50 in MPL, Fusion, and Phoenix.

I count two impls
1) has 20 elements all generated
boost_1_49_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp

2) stops at 50
boost_1_49_0/boost/mpl/vector/vector50.hpp

I don't know if there's a way to generate more. Probably you need python. If that's the case, IMHO this should be documented so users can do it.

This doesn't work:
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
#define BOOST_MPL_LIMIT_VECTOR_SIZE 60
#include <boost/mpl/vector.hpp>

boost_1_49_0/boost/mpl/vector.hpp:36:73: fatal error: boost/mpl/vector/vector60.hpp: No such file or directory

Can someone please help. I've upgraded my copy of boost. I've tried figuring out how these headers work. I'm pretty sure I could fix it if I really had to by replacing the 50 in the last file with the *_SIZE.

I have this ugly hack in my code to keep things working. Would someone please help?!? Acknowledging the problem would be a start.

Chris


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk