Hi Stephan,
On Tue, 01 Oct 2013 18:13:39 +0200
Stephan Bergmann <sbergman@redhat.com> wrote:
On 10/01/2013 05:05 PM, Matteo Casalin wrote:
OUString provides the metod replace(sal_Unicode, sal_Unicode), which seems to be not
widely used, while there are for sure some replaceAll("a", "b") calls here and there.
Would it be fine to rename the former to replaceAll(sal_Unicode, sal_Unicode) for consistency,
fix the current calls and then slowly convert all of the call-places of the latter (which I
think to be be less efficient)?
If any backward compatibility is needed, replace could be kept and just call the related
replaceAll.
Not too sure that would really be worth it:
* Single-character replacement is different from multi-character
replacement in that it doesn't need to specify how to handle cases where
one replacement gives rise to further replacement opportunities.
(That's why there originally only was a replaceFirst for the
multi-character case, to avoid having to make a decision.)
* There is no support for fromIndex in replace.
* replace is an inline function, so it could be replaced (no pun
intended) with "only" becoming build-time, not runtime incompatible.
Keeping it around and having two inline functions doing the same trivial
thing to avoid that looks like a bit too much overhead to me.
* The underlying C function is called rtl_uString_newReplace, not
..._rewReplaceAll (and /that/ couldn't be changed without breaking ABI).
Stephan
Your rationale really overcomes my simple "it changes All of the occurrences" :)
I will reduce the task to just not introducing any new replaceAll("a", "b") and by replacing the
existing ones with replace('a', 'b'), when I find any.
Many thanks for the quick and detailed reply!
Matteo
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.