
Daniel Wallin wrote:
Tobias Schwinger wrote:
Daniel Wallin wrote:
Eric Niebler wrote:
I'd still be curious what a PP solution looks like, though. The problem stumped me for quite some time.
I'll bite. It's a bit of a hack, but it works. :) It basically accumulates the closing >'s as it goes, and expands them after the last item. It keeps a looping counter that keeps track of when to split into another mpl::and_<>.
Here is an alternative implementation with a similar approach, using a sequence to "escape" the commas and SEQ_ENUM for "unescaping".
Yes, FWIW my rationale for doing it the way I did was that I wanted to allow the predicates to have embedded commas. Also, it's *a lot* faster,
I figured it would be superior in terms of performance - the massive expansion certainly takes its toll. My objective was to keep it simple and easy to follow.
and this is a contest, right? ;)
Dunno... But if it is Dave started the next lap - go for the play-off :). Regards, Tobias