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&#174; 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