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.
>> Documentation is here:
>> 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);
>>> };
>>> };
> 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

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