Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-01-22 22:54:36


"Andrei Alexandrescu" <andrewalex_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:u7kcwwu0e.fsf_at_boost-consulting.com...
>
>> Yeah, I haven't always been very comfortable with the
>> value-per-character of mpl::for_each -- it seems to have similar
>> properties to std::for_each in that way. It's got certain advantages
>> for re-use:
>>
>> 1. You can use different sequence types (I know Andrei doesn't buy
>> this one, but I still do; the concept of tuple-as-type-sequence
>> being one motivator)
>
> My understanding is that front and pop_front work with different sequence
> types, isn't that so?

Yeah, but I don't think a vector turns to void_ after you've popped
everything off the front ;-)

> If that's the case, (1) illustrates no advantage of the complicated
> version over the simple version.

It's all in the non-generic termination condition.

>> I've been talking with Aleksey recently about how to improve the
>> syntactic situation without losing the separation of concerns that we
>> get, but we didn't come up with anything convincingly better.
>
> The template pattern matching just makes it too easy... :o)))

It's easy if you can think that way, but not neccessarily clear.

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk