Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-01-30 10:42:08


MB <mb2act_at_[hidden]> writes:

> Thorsten Ottosen wrote:
>> Dear All,
>>
>> I have been trimming boost.range to incorporate the changes we have been
>> discussing some time ago.
>>
>> These changes will break many uses of the library. Inside boost this
>> will affect
>>
>> Boost.foreach
>> Boost.string algo
>> Boost.iostreams (*)
>>
>> (*) I don't this will break
>>
>> The list of major changes is the follwing:
>>
>> 1. ADL hooks renamed boost_range_begin -> range_begin,
>> boost_range_end -> range_end
>
> Why was such short name accepted??
> Even 'const_begin' that calls unqualified 'begin' breaks down Boost.MPL!!

How so? What happens? Got a small reproducible case?

>> 2. ADL hook boost_range_size removed; boost::size(rng) now requires
>> RandomAccessIterators to guarantee O(1) complexity.
>>
>> 3. range_result_iterator renamed range_iterator and range_iterator
>> renamed mutable_iterator. The correct way to spell const_iterator<T> is
>> now iterator<const T>.
>
> range_result_iterator is alive? If so, it's nice. :-)
>
>> 4. intrinsic string support removed. instead a header as_literal.hpp is
>> previded with a small utility for use in string algorithms.
>
> FWIW, I experienced "Range adaptor syntax" could make it prettier.

Thorsten, did you consider providing a backward compatibility layer
for the transition?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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