Boost logo

Proto :

Subject: Re: [proto] _unpack transform
From: Eric Niebler (eric_at_[hidden])
Date: 2012-07-11 13:30:02


On 7/11/2012 4:47 AM, Bart Janssens wrote:
> On Tue, Jul 10, 2012 at 11:18 PM, Eric Niebler <eric_at_[hidden]> wrote:
>> The _unpack transform is pretty general, allowing a lot of variation
>> within the pack expansion pattern. There can be any number of Tfx
>> transforms, and the wildcard can be arbitrarily nested. So these are all ok:
>>
>> // just call f0 with all the children
>> _unpack<f0(_...)>
>
> Hi Eric,
>
> Is it correct that the above example just generates a sequence of
> calls to f0, one for every child of the expression?

No, it calls f0 (once) with all the children. It's like:

  f0(child0, child1, child2...)

> If so, we are
> currently implementing that functionality like this:
> https://github.com/coolfluid/coolfluid3/blob/master/cf3/solver/actions/Proto/ExpressionGroup.hpp
>
> So for us this would avoid the (in this case quite simple) primitive transform.

Ah, you need a for_each transform. That wouldn't be hard to add. Feel
free to file a feature request so I don't loose track of it.

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

Proto list run by eric at boostpro.com