Boost logo

Proto :

Subject: Re: [proto] [phoenix] not playing nice with other libs
From: Eric Niebler (eric_at_[hidden])
Date: 2011-05-04 13:55:19


On 5/4/2011 6:39 PM, Bart Janssens wrote:
> On Wed, May 4, 2011 at 1:25 PM, Thomas Heller
> <thom.heller-gM/Ye1E23mwN+BqQ9rBEUg_at_[hidden]> wrote:
>> 2) Have some kind of completely variadic proto expression. Not by
>> having variadic
>> templates but by creating the list of children by some kind of cons list.
>> This might requires a quite substantial change in proto, haven't fully
>> investigated
>> that option.
>
> I needed something like this to implement a "group(expr1, ... , exprN)
> function that would group several expressions into one. I also hit the
> max arity limit with that solution, so I changed the syntax to "group
> << (expr1, ..., expr2)". Using the overloaded comma operator from
> proto, this becomes a binary tree that can be as large as you want,
> and can easily be converted to a list using flatten.

Clever! But not your preferred syntax, so not ideal.

> Probably useless
> for phoenix, but I thought I'd mention it anyhow :) I would also be
> interested to go back to the group(...) syntax without needing to
> modify the limits, so any progress on this would be great.

Bart, how high can N go in your EDSL? Is it really arbitrarily large?

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Proto list run by eric at boostpro.com