
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