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