Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-10-20 17:30:50


At 03:46 PM 10/20/2004, Peter Dimov wrote:

>> The iterators used are bidirectional, not random access (impossible
>> on UTF-8 and UTF-16) and they are as of now not constant. It IS
>> possible to assign a code unit to a UTF-8 encoded string through an
>> iterator, even if the resulting code unit sequence would be longer
>> than the one the iterator is pointing to. The underlying container is
>> automatically resized to make room for the new sequence. (This is of
>> course slow!)
>
>This is another basic_string mistake that effectively rules out efficient

>reference counting. ;-) Just make the iterators constant. The
functionality
>can be obtained with explicit erase/insert/replace members.

There are additional advantages to a constant iterator and explicit
erase/insert/replace design; various caching and disk-residence
implementations become both possible and efficient.

--Beman


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