|
Boost : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-07-26 07:48:15
----- Original Message -----
From: "Vladimir Prus" <ghost_at_[hidden]>
> > And there is a boost/half_open_range.hpp file which has been in-progress
> > for some time in your latest boost release. If someone would like to
take
> > up the job of finishing it, I'm sure it would be widely appreciated.
>
> What needs to be done with it?
I think the first order of business is to give it the once-over to see what
needs to be done ;-)
There's also the issue of iterator interfaces. Two possibilities I see,
where a and b are a T and r(a,b) is a range<T>:
r.begin() == a
r.end() == b
r.begin() is not neccessarily an iterator in this case, since T might be int
r.begin() == make_counting_iterator(a)
r.end() == make_counting_iterator(b)
r.begin() is always an iterator, but it makes access to the original a
unintuitive, and range<container<T>::iterator> doesn't make a good
substitute for container<T>.
I tend to favor the former, but maybe we need another layer that produces
the latter.
-Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk