
"Arkadiy Vertleyb" <vertleyb@hotmail.com> writes:
Typeof uses only numbered (or what is the correct name for it?) versions of the mpl::vector. Setting BOOST_TYPEOF_LIMIT_SIZE to, e.g., 15 means that vector15 is used to store the encoded type, and numbered versions up to vector15 are used to build it, regardless what the value of BOOST_MPL_LIMIT_VECTOR_SIZE is. If typeof limit happens to exceed the mpl limit, additional numbered MPL vector definitions are built with PP lib, as suggested by Aleksey some time ago.
Okay, as long as Aleksey is coordinating with you on this I feel fine about it.
To add a little to the confusion, by default I don't use mpl::vector. Instead I use my own very simple MPL-compatible vector definition, which allows me to avoid the gcc-mpl::vector performance problem discussed some time ago. To really use MPL, BOOST_TYPEOF_USE_MPL_VECTOR has to be defined. This may be reconsidered after the MPL problem is fixed.
It now is, IIUC.
Most of the time you wouldn't have to change BOOST_TYPEOF_LIMIT_SIZE either. I would use BOOST_MPL_LIMIT_VECTOR_SIZE as a convenient default, but I think it's currently 10 (?) and too low for typeof...
Do you have a better name in mind or is it enough to just put the above description somewhere in the document?
I don't have a better name in mind, and I'm not sure what belongs in the document. I just wanted not to inadvertently encourage people to encourage BOOST_MPL_LIMIT_VECTOR_SIZE. -- Dave Abrahams Boost Consulting www.boost-consulting.com