
On 09/22/09 17:40, Christopher Schmidt wrote:
I participated in Google's 'Summer of Code' for Boost this year. My project was to port Boost.Fusion to c++0x. The program is over now and I would like to give you a short report on my work and put my code up for comments. [snip]
You can find the code in the boost sandbox (/sandbox/SOC/2009/fusion). If you test the code with a compiler that has decltype support, please use the HEAD of the trunk rather than the official 1.40 distribution package to compile your code.
Best regards Christopher
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 disadvantage of TMI that I can think of is that maybe the template recursion of package_range_c shown at: https://svn.boost.org/trac/boost/browser/sandbox/variadic_templates/boost/mp... suffers some limitation imposed by the template recursion depth. However, I don't know if that's a real limitation since I have tested where, if a single template is used in the recursion, then the -ftemplate-depth-XX seems irrelevant: http://gcc.gnu.org/ml/gcc-help/2009-05/msg00279.html 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