
Dean Michael Berris wrote:
Hi Eric!
On Nov 19, 2007 11:54 PM, Eric Niebler <eric@boost-consulting.com> 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