Re: FW: Variadic fusion
Christopher Schmidt <[email protected]> Thu, 08 Apr 2010 23:11:15 +0200
| Newsgroups | gmane.comp.parsers.spirit.devel |
|---|---|
| Message-ID | <[email protected]> |
Fletcher, John P schrieb: > What I have done is to reimplement the user extension code using a variadic tuple. At the time this seemed natural as the user extension was a lot of work to implement for each case and doing it that way meant it was done once. I did this up to about January 2009. I am currently looking at integrating my code with boost fusion functional stuff (fuse and unfuse) which I had not looked at before and also boost/functional/forward which looks very interesting. > > As I haven't seen Christopher's work yet I cannot decide which of the following applies to my work: > > 1. Now redundant because of what Christopher has done. > 2. Complements it and can be easily added in. > 3. Overlaps and may provide some detail but otherwise is not needed. > > It seems useful to have the discussion as to which of these is the case. In the long term, Fusion at large needs to adapt C++11. Introducing a variadic tuple that will be redundant later on does not sound like a good idea to me. Why not use your variadic implementation as an addition to Boost.Tuple? My port is a full inside-out port of fusion. The code is fast, stable, it takes advantage of the C++11 candy (variadic templates, rvalue references, constexpr, ...) and is fully C++03 compatible. All testcases of Proto and Spirit pass on gcc 3.x, gcc 4.x and vc8 when compiled with my port. All my projects - some of them heavily rely on Fusion and Proto - compile fine with the port. In my opinion, the code is trunk-ready. At the moment, the project just lacks new testcases and an updated documentation. Unfortunately I have been up to a heavy class and work load lately, therefore I was just able to keep up with the mainline development. I plan to have the outstanding work done and submitted to boost.devel for a semi-review by the end of July. > Is the C++0x code available somewhere? You can find the code in the sandbox. https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion -Christopher ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev