Boost logo

Boost :

From: Daryle Walker (darylew_at_[hidden])
Date: 2001-09-26 10:39:05


on 9/25/01 1:28 PM, David Abrahams at david.abrahams_at_[hidden] wrote:

> Your changes look uniformly like improvements, especially the many HTML
> documentation improvements (wording got more concise, consistent and
> cleaner) and fixes you supplied for code examples (thanks! and curse that
> & symbol!)

I didn't mean to improve the wording. I originally added the new table to
the iterator helper section, and appended its explanation to the existing
paragraph. I later considered making a new section, so I had to split the
paragraph. I guess I made it better in the process.

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.

> ... 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.

> ----- 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

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