regarding patch 38838

Jean-Noël Rouvignac jn.rouvignac at gmail.com
Sun Feb 17 09:41:14 PST 2013


Hi Prashant,

2013/2/17 Prashant Pandey <prashant3.yishu at gmail.com>

> Hi,
>
>>
>> I need some guidance as am stuck at a place.
>> How should I replace 'erase' using guidelines given under
>> https://wiki.documentfoundation.org/Development/String_Classes.
>> If I try to fit 'replaceAt' in place of 'erase' in the line bolded below:
>>
>> *            aRealStyle.Erase(aRealStyle.Search(aSep) + aSep.Len());*
>>
>> it will give me error (if I do : *aRealStyle.replaceAt(aRealStyle.indexOf(aSep)
>> + aSep.getLength());*)
>>
>> Reason:
>>
>> replaceAt defined as: rtl::OUString rtl::OUString::replaceAt(sal_Int32,
>> sal_Int32, const rtl::OUString&) const
>> (candidate expects 3 arguments, 1 provided)
>> error: no matching function for call to
>> ‘rtl::OUString::replaceAt(sal_Int32)
>>
>> My question is, what should I pass inside the replaceAt()
>> parameters/arguments?
>>
>
I would suggest you write this:
*    sal_int32 idx = **aRealStyle.indexOf(aSep) + aSep.getLength();*
*    **aRealStyle = aRealStyle.replaceAt(idx, **aRealStyle.getLength()
- **aRealStyle,
"");*

Because:

   - If nIndex is set then can use replaceAt with an arg of an empty string
   (from the wiki page)
   - The second argument is the count, and here we replace until the end of
   the string
   - Since OUString is immutable, you must assign back the resulting
   OUString if you do not want to lose it

Cheers,

Jean-Noël
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130217/5a5b691b/attachment.html>


More information about the LibreOffice mailing list