Boost logo

Boost :

Subject: Re: [boost] AlRangeExandrescu?
From: David Abrahams (dave_at_[hidden])
Date: 2009-07-23 14:14:24

on Thu Jul 23 2009, Thorsten Ottosen <> wrote:

> David Abrahams skrev:
>> Hi Neil,
>> I'm sure someone already spoke to you about this, but just in case: Andrei
>> Alexandrescu gave a very interesting presentation at BoostCon that was based on a
>> "ranges only" approach that should eliminate issues like this one:
>> 2: return type specification for find() etc
>> ===========================================
>> There where no major objection to the mechanism, but some found
>> the syntax ugly. I believe the suggested syntax (e.g.)
>> boost::find[_f,_e]( range, x )
>> boost::find[_f+1,_e]( range, x )
>> He says he's implemented a superset of the STL algorithms with it so we know the
>> expressive power is fairly complete.
> If I remember correctly, he claims that his return of find() is the "correct" one. I
> think that is plain wrong, as the syntax above shows that there are many useful return
> ranges, perhaps with an obvious default.

Regardless, there could still be a single correct answer from the
standpoint of aesthetics, purity, and orthogonality. If

    drop_front(find(range, x))

does the same thing as

    find[_f+1,_e]( range, x )

then you don't need the complicated meta-goop in there.

> So the above is not an "issue" IMO, but a usable feature.

Whether or not it's a feature and/or usable isn't relevant to the issue
I'm raising.

Dave Abrahams
BoostPro Computing

Boost list run by bdawes at, gregod at, cpdaniel at, john at