Boost logo

Boost :

From: MB (mb2act_at_[hidden])
Date: 2006-02-02 00:08:54


Thorsten Ottosen wrote:
> MB wrote:
>
> > Thorsten Ottosen wrote:
>
>
> >> no, it has been renamed to range_iterator and the former
> range_iterator is now called mutable_iterator.
> >
> >
> >
> > But, range_iterator has already been specialized by
> > range implementators.
>
>
> right, that is why it is a breaking update.

It is possible to hook 'range_iterator' from user specializations?

   template< class T >
   struct range_iterator<const T> : range_const_iterator<T> { };

Fortunately, Boost.Range documentation doesn't say
'range_iterator< const Foo::Pair<T> >' must be specialized.
User 'range_iterator' specializations still work.

 From the point of client view,
I have never called 'range_iterator',
while I called 'range_result_iterator' 159 times.

As for 'range_result_iterator', there is no reason why it should be removed.
If it were removed, I would add just:

   // legacy name of range_iterator
   template< class Range >
   struct range_result_iterator : range_iterator<Range> { };

As for 'boost_range_begin', the change is rather dangerous.
Please do google "range_end".

Thus, no problem breaks except for 'char*', doesn't it?

> BTW: please use your real name when posting
Formal rule?
If so, this should be the final post...

Regards,
MB


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