Spirit 2 and the c++0x port of Fusion

View: New views
5 Messages — Rating Filter:   Alert me  

Spirit 2 and the c++0x port of Fusion

by Christopher Schmidt-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I ran into two problems when compiling Spirit 2 with the upcoming c++0x
port of Fusion.

Spirit relies on Fusion eliminating trailing fusion::void_ - types in
the container generation metafunctions. If native variadic templates are
supported by the compiler, this will not be done though. In fact, the
fusion::void_ type is undocumented, pretty much unused and I would like
to remove the <boost/fusion/support/void.hpp> /
<boost/fusion/include/void.hpp> files and move the type in the
fusion::detail namespace.
As the relevant fusion::result_of::make_vector invocations are wrapped
through spirit::detail::make_vector I suggest to intercept a
spirit-specific 'unused' type there.

fusion::result_of::make_vector will return a plain variadic vector type
if native variadic templates are present. Unfortunately Spirit has tons
of template specialisations with the numbered vector whereas the actual
template types are instantiated with the result type of the generation
metafunction.
I suggest to choose the right form when hardcode via a simple macro.

Is there any chance of getting these issues addressed?
Thanks a lot

-Christopher


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Spirit-devel mailing list
Spirit-devel@...
https://lists.sourceforge.net/lists/listinfo/spirit-devel

Re: Spirit 2 and the c++0x port of Fusion

by Joel de Guzman-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christopher Schmidt wrote:

> I ran into two problems when compiling Spirit 2 with the upcoming c++0x
> port of Fusion.
>
> Spirit relies on Fusion eliminating trailing fusion::void_ - types in
> the container generation metafunctions. If native variadic templates are
> supported by the compiler, this will not be done though. In fact, the
> fusion::void_ type is undocumented, pretty much unused and I would like
> to remove the <boost/fusion/support/void.hpp> /
> <boost/fusion/include/void.hpp> files and move the type in the
> fusion::detail namespace.
> As the relevant fusion::result_of::make_vector invocations are wrapped
> through spirit::detail::make_vector I suggest to intercept a
> spirit-specific 'unused' type there.
>
> fusion::result_of::make_vector will return a plain variadic vector type
> if native variadic templates are present. Unfortunately Spirit has tons
> of template specialisations with the numbered vector whereas the actual
> template types are instantiated with the result type of the generation
> metafunction.
> I suggest to choose the right form when hardcode via a simple macro.
>
> Is there any chance of getting these issues addressed?
> Thanks a lot

Makes perfect sense. Would you like to propose a patch?
That's the fastest way to get it addressed :-)

Regards,
--
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net
http://www.facebook.com/djowel

Meet me at BoostCon
http://www.boostcon.com/home
http://www.facebook.com/boostcon



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Spirit-devel mailing list
Spirit-devel@...
https://lists.sourceforge.net/lists/listinfo/spirit-devel

Re: Spirit 2 and the c++0x port of Fusion

by Christopher Schmidt-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joel de Guzman schrieb:
> Makes perfect sense. Would you like to propose a patch?
> That's the fastest way to get it addressed :-)
>
> Regards,

I am rather reluctant to fragment the (to me unfamiliar) Spirit codebase
with selective patches all over the place.
Hartmut has thankfully volunteered to fix the issues with a central patch.

-Christopher


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Spirit-devel mailing list
Spirit-devel@...
https://lists.sourceforge.net/lists/listinfo/spirit-devel

Re: Spirit 2 and the c++0x port of Fusion

by Hartmut Kaiser :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Joel de Guzman schrieb:
> > Makes perfect sense. Would you like to propose a patch?
> > That's the fastest way to get it addressed :-)
> >
> > Regards,
>
> I am rather reluctant to fragment the (to me unfamiliar) Spirit
> codebase
> with selective patches all over the place.
> Hartmut has thankfully volunteered to fix the issues with a central
> patch.

Did I? Really? Hmmm...
I was rather under the impression to have suggested to you to fix it in a
way so the differences are isolated. :-P

But I'd be happy to work on this, but only after the release....

Regards Hartmut

-------------------
Meet me at BoostCon
http://boostcon.com

>
> -Christopher
>
>
> -----------------------------------------------------------------------
> -------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
> 30-Day
> trial. Simplify your report design, integration and deployment - and
> focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Spirit-devel mailing list
> Spirit-devel@...
> https://lists.sourceforge.net/lists/listinfo/spirit-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Spirit-devel mailing list
Spirit-devel@...
https://lists.sourceforge.net/lists/listinfo/spirit-devel

Re: Spirit 2 and the c++0x port of Fusion

by Christopher Schmidt-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hartmut Kaiser schrieb:

>> Joel de Guzman schrieb:
>>> Makes perfect sense. Would you like to propose a patch?
>>> That's the fastest way to get it addressed :-)
>>>
>>> Regards,
>> I am rather reluctant to fragment the (to me unfamiliar) Spirit
>> codebase
>> with selective patches all over the place.
>> Hartmut has thankfully volunteered to fix the issues with a central
>> patch.
>
> Did I? Really? Hmmm...
> I was rather under the impression to have suggested to you to fix it in a
> way so the differences are isolated. :-P
>
> But I'd be happy to work on this, but only after the release....
Oh, I must have misunderstood you.
Anyway, no problem, I will propose a patch as soon as Boost 1.41 is
released.

-Christopher


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Spirit-devel mailing list
Spirit-devel@...
https://lists.sourceforge.net/lists/listinfo/spirit-devel