From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-05-12 19:27:13
Alisdair Meredith wrote:
> Preparing for the BSI panel meeting on Monday we again came across
> the topic of overloading the standard algorithms to take range
> arguments (iterator pairs.) The motivating example came from
> filter_iterator in the new iterator_adaptors proposal, which seems
> more range-like than iterator-like. I thought to take a look into
> the sandbox for precedent before pushing something new though <g>
Searching through the list archive would bring out a couple of long
threads on the topic, too.
> The container_algo.hpp file in sequence_algo seems to provide what I am
> looking for already, but is phrased in terms of Containers, rather than
> Ranges. I would like to see this extended to any object that has
> members begin/end that return iterators (and a suitable set of
> supporting typedefs)
> I have quite a lot of code that would refractor well around functions
> returning range objects.
> Is anyone else actively working on this at the moment?
I am not working on it nowadays, but if you are looking for a concrete
prior art, I can provide you with some. Here at work we've been using
sequence-enabled wrappers around standard containers and algorithms for
several years by now, and it's a huge improvement, in many aspects, over
what you have with the standard library by default.
As a matter of fact, the MPL was born as sequence-based from the
beginning largely because of our positive experience with the
sequence-based components at run-time.
I know we are guilty of not contributing it to the community, but so
many things to do, so little time. If you are determined to push it to
through up to the formal proposal stage, though, we would be willing to
help in specific ways (e.g. providing the reference implementation).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk