On 2012-09-28 15:37, Michael Meeks wrote:
Hi Noel,

On Fri, 2012-09-28 at 14:17 +0200, Noel Grandin wrote:
It just seems to me that we could easily enough steal a bit from the
length field to indicate that the buffer is immutable, and then we could
reduce our complexity by eliminating OUStringBuffer.
        We already steal bits from the ref-count for magic like this: static
strings, and interned strings ;-)

        The question is - would it be more obvious if:

void method(rtl::OUString &rFoo, rtl::OUString &rBaa)
{
        rFoo += "foo"; // no exception it's mutable.
        rBaa += "baa"; // exception because it's immutable.
}

        :-) i assume not. OTOH - I too am not a huge fan of the sal string
classes for general usability - but I've not done a ton of work with
them recently to be fair.


So that idea is workable - great.

In your example, it wouldn't throw an exception, it would simply notice that it's internal buffer was immutable, allocate a new buffer, and append the string to that.

I'm asking because I'm starting to do XubString/UniString -> OUString cleanup work, and the work would be a lot simpler if we only had one target - OUString.



Disclaimer: http://www.peralex.com/disclaimer.html


_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to