Boost logo

Proto :

Subject: Re: [proto] [phoenix][msm] proto limits increased to 10, phoenix broken on trunk
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2011-05-08 12:36:01


> On 5/8/2011 11:08 PM, Hartmut Kaiser wrote:
> > Just a question: what's your rationale of limiting the generated pp
> headers to an arity of 10?
> > MPL and Phoenix have it set up for higher arities as well (as you
> probably know).
>
> Phoenix doesn't have it set higher. Or, it did, but it was a bug.
> Perhaps you meant Fusion. Yes, it's higher for Fusion and MPL. The reason
> for 10 and not something higher (yet) is because there is N^2 overloads of
> expr::operator() on compilers that don't support variadic templates. And
> with BLL and Bind and Phoenix, there's a history of supporting arities up
> to 10 and no more. I'm balancing keeping it fast and light(-ish) and
> making it useful in the real world.

Hmmm, maybe I misunderstand the situation, but MPL and Phoenix have 5
different versions of preprocessed headers which will be used depending on
the LIMITs specified by the user. No unnecessary overhead is created this
way. For any LIMIT <= 10 Phoenix uses one set of pp files, for LIMITs <= 20
the next set, etc.

This surely creates some additional burden for the author as you have to run
wave 5 times, but that's it.

Regards Hartmut
---------------
http://boost-spirit.com


Proto list run by eric at boostpro.com