[Libreoffice] Replace (Byte|Uni|Xub_)String with O(U)String: Fill() method is missing

Stephan Bergmann sbergman at redhat.com
Thu Nov 3 01:20:19 PDT 2011


On 11/02/2011 05:21 PM, Michael Meeks wrote:
> 	The benefits of the stable ABI requirement are somewhat unclear to me.

Mostly for the benefit of (external) client code.  Also, as a secondary 
effect, striving for a stable API probably tends to make the authors of 
the API work harder to produce good quality (documentation, minimalism, 
orthogonality, ...; at least, that's my personal experience).

> If (as seems ~certain) we are going to have a flag day at some stage,
> there is no harm moving this little lot into the sal/ library. To what

Sorry, don't get what you mean with "flag day" here.

> 	So - I think this splitting code into lots of different places for ABI
> reasons can be re-considered.

An API should strive for various, potentially competing qualities. 
Stability is one, discoverability is another.  Finding a good balance 
here can be a delicate exercise, and there is no single "right" answer. 
  The concept of additional, external convenience APIs is quite 
widespread.  So is the wisdom of "if in doubt, leave it out."  Confer, 
for example, chapter 2 of Reddy's "API design for C++" (MK, 2011).

Those are quite general remarks, meant more as something to keep in the 
back of your mind while working on LO's stable URE API, than as litmus 
tests how to handle the comphelper/string.hxx under discussion here (for 
which the case-by-case approach already discussed by Caolán sounds 
reasonable).

Stephan


More information about the LibreOffice mailing list