
On Dec 11, 2009, at 12:19 PM, Christophe Henry wrote:
I'm not totally sure, but I think that you're using mpl::vector, which, I think, is a form of a type list.
AFAIK, this would be mpl::list. mpl::vector is defined as (for example for vector4):
template< typename T0, typename T1, typename T2, typename T3
struct vector4 { typedef aux::vector_tag<4> tag; typedef vector4 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; ... };
Actually, IIRC, it depends on whether we decide the compiler has a native typeof() implementation. If it does, you get a kind of nested type list and we use overload resolution for lookup, so vectors can grow arbitrarily. However, I don't know what we decide about VC8 and typeof. -- David Abrahams BoostPro Computing http://boostpro.com