
Larry Evans schrieb:
Thanks for all the work.
However, I was wondering why you couldn't eliminate some of the extensive BOOST_PP magic in:
https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion/boost/fusio...
by using the "tagged multiple inheritance"(TMI) method shown around here:
https://svn.boost.org/trac/boost/browser/sandbox/variadic_templates/libs/mpl...
...
The only other objection might be to limit the number of instantiations because the more template instantiations, the slower the compile time; however, Doug Gregor suggested he wasn't too worried about that at the bottom of:
http://groups.google.com/group/comp.std.c++/msg/6449d909fd3d5cdc
-regards, Larry
Thank you very much for your feedback. I did consider that specific method. I decided against using it due to the enormous amount of template instantiations and the expensive type_at. The current implementation is 4-unrolled recursive. I am pretty certain that it is faster - there are about 4 to 8 times less template instantiations. Besides, this is the only place in the native variadic template code in which I use heavy preprocessor repetition. All other container (besides fusion::cons) have a clean implementation based on fusion::vector. -Christopher