Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-11-19 15:17:31


Dean Michael Berris wrote:
> Hi Eric!
>
> On Nov 19, 2007 11:54 PM, Eric Niebler <eric_at_[hidden]> wrote:
>> Dean Michael Berris wrote:
>>> * Boost.Range friendly versions of the STL algorithms
>> The Range_ex library is quite possibly what you're looking for.
>>
>> http://www.boost-consulting.com/vault/index.php?directory=Algorithms
>>
>> Documentation is here:
>>
>> http://boost-sandbox.sf.net/libs/range_ex
>>
>> This work is based on an earlier containers algorithm library by Jeremy
>> Siek and Vladimir Prus.
>>
>
> Thank you very much! This definitely looks like something worth
> looking at. Is there any chance this work can get completed soon? Or
> is there just too many STL algorithms to 're-implement'?

Oh it's "complete", as in all the STL algorithms are represented.

> I'm quite possibly looking at helping here if there's anybody else
> needing help with the implementation of this library.

There are some surprisingly thorny issues wrt range-based algorithms,
which I list in the appendix of the range_ex docs. In particular, does
an "output range" make sense? Range_ex uses output iterators instead of
output ranges. At the time, I thought that was unsatisfactory. Less so
now, but it's still an open issue.

>>> * SGI's select1st and select2nd generalized -- I'm not sure if you've
>>> found yourself dealing with std::map's and std::list<std::pair<,> >'s
>>> a lot, but I do, and there is a lot of merit in something like the
>>> following:
>>>
>>> template <const N>
>>> struct select {
>>> template <class T>
>>> mpl::at_c<T, N>::type operator() (T element) const {
>>> return mpl::at_c<T, N>(element);
>>> };
>>> };
<snip>
>
> Could this simple header library be put into the Fast Track review queue?

I think I would make this part of boost/functional.hpp, but I'm not sure
who is maintaining that these days.

-- 
Eric Niebler
Boost Consulting
www.boost-consulting.com

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