This patch consists intrinsics to properly create the bases and
direct_bases of a class in the correct order (including multiple nested
ambiguous virtual and non-virtual classes) for N2965
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2965.html).
This allows you to create type trait
Don't worry, I'm not suggesting including boost::mpl at all, just
leaving the return type of the bases trait unspecified. IMO, your
example illustrates my point that without performance tuning, compiling
metaprograms can be prohibitively expensive, so I want to avoid running
the tuple metaprogr
ed. Likewise, we would be covered if wanted to
change bases implementation in the future to return an associative
container. For example, if using size::type>>::value to
count the number of occurrences of A as a base class of E turns out to
be useful).
Thanks,
Mike
On 9/28/2011 6:54 A