Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-09-26 11:26:43


----- Original Message -----
From: "Daryle Walker" <darylew_at_[hidden]>

> Did you guys notice that I made iterator comparison partially ordered?
(It
> was originally totally ordered.) You shouldn't compare iterators from two
> different containers.

Hmm. No, I didn't notice such a change... Thanks for pointing it out.
Actually, I'm not sure it's an appropriate change. What does the comparison
between iterators from different sequences have to do with partial ordering?
Iterators which can be compared always form a total order, AFAIK. Why should
we choose the less-efficient implementation?

> > ... except that you changed the names of the class templates. I was hapy
> > with bidirectional_iterator_operators, but "bidirectional_iteratible"
> > doesn't work at all for me. I'm not sure if "iteratible" is a word, but
if
> > it is, I think it would be spelled "iteratable". In any case, I'd like
to
> > hear from others about the choice of names. Jeremy? Aleksey?
>
> I forgot the name I gave in the old post, and I didn't bother to check the
> discussion thread.

It was listed below in the mail you posted to the list asking about your
proposed changes ;-)

-Dave

> > ----- Original Message -----
> > From: <darylew_at_[hidden]>
> > To: <boost_at_[hidden]>
> > Sent: Sunday, September 23, 2001 5:04 PM
> > Subject: [boost] Re: Separate iterator operators from iterator traits?
> >
> >
> >> Check out
> >>
> >> http://groups.yahoo.com/group/boost/files/dlw_oprs2.zip
>
> >> --- In boost_at_y..., "David Abrahams" <david.abrahams_at_r...>
> >> wrote:
> >>> That seems like a good idea. Why don't you post a patch?
> >>>
> >>> Please include documentation changes.
> >>> Please also try to make your changes minimal, to ease the
> >>> review and integration process.
> >>
> >>> ----- Original Message -----
> >>> From: "Daryle Walker" <darylew_at_m...>
> >>> To: "Boost" <boost_at_y...>
> >>> Sent: Monday, September 03, 2001 2:42 PM
> >>> Subject: [boost] Separate iterator operators from iterator traits?
> >>>
> >>>
> >>>> In <boost/operators.hpp>, we have templates like:
> >>>>
> >>>>
> >>>> ==============================================
> >>>> template <class T,
> >>>> class V,
> >>>> class D = std::ptrdiff_t,
> >>>> class P = V*,
> >>>> class R = V&>
> >>>> struct bidirectional_iterator_helper
> >>>> : equality_comparable1<T
> >>>> , unit_steppable<T
> >>>> , dereferenceable<T, P
> >>>> , boost::iterator<std::bidirectional_iterator_tag, V, D, P, R
> >>>> > > > > {};
> >>>>
> >>>> ==============================================
> >>>>
> >>>> where the operator helpers are attached to the iterator base.
> >>>> Maybe we can do a separation like:
> >>>>
> >>>>
> >>>> ==============================================
> >>>> template <class T, class P, class B =
> >>>> ::boost::detail::empty_base>
> >>>> struct bidirectional_iterator_operators
> >>>> : equality_comparable1<T
> >>>> , unit_steppable<T
> >>>> , dereferenceable<T, P, B
> >>>> > > > {};
> >>>>
> >>>> //...
> >>>>
> >>>> template <class T,
> >>>> class V,
> >>>> class D = std::ptrdiff_t,
> >>>> class P = V*,
> >>>> class R = V&>
> >>>> struct bidirectional_iterator_helper
> >>>> : bidirectional_iterator_operators <T, P
> >>>> , boost::iterator<std::bidirectional_iterator_tag, V, D, P, R
> >>>> > > {};
> >>>>
> >>>> ==============================================
> >>>>
> >>>> in case we need to supply the iterator base in a different
> >>>> manner (like now when I'm trying to use these operators with
> >>>> an iterator based off a reverse iterator of another
> >>>> iterator class I defined).
>
> --
> Daryle Walker
> Mac, Internet, and Video Game Junkie
> darylew AT mac DOT com
>
>
> Info: http://www.boost.org Unsubscribe:
<mailto:boost-unsubscribe_at_[hidden]>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>


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