
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