Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/2125

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/25/2125/1

add copy() and toInt32() to OUStringBuffer

Change-Id: Ibac7f624f1a1dcce653dff4bec573be457d70075
---
M sal/inc/rtl/ustrbuf.hxx
1 file changed, 57 insertions(+), 0 deletions(-)



diff --git a/sal/inc/rtl/ustrbuf.hxx b/sal/inc/rtl/ustrbuf.hxx
index a7d5748..c222e4d 100644
--- a/sal/inc/rtl/ustrbuf.hxx
+++ b/sal/inc/rtl/ustrbuf.hxx
@@ -1309,6 +1309,56 @@
     {
         return stripStart(c) + stripEnd(c);
     }
+    /**
+      Returns the int32 value from this string buffer.
+
+      This function can't be used for language specific conversion.
+
+      @param    radix       the radix (between 2 and 36)
+      @return   the int32 represented from this string.
+                0 if this string represents no number.
+      @since LibreOffice 4.1
+    */
+    sal_Int32 toInt32( sal_Int16 radix = 10 ) const SAL_THROW(())
+    {
+        return rtl_ustr_toInt32( pData->buffer, radix );
+    }
+    /**
+      Returns a new string buffer that is a substring of this string.
+
+      The substring begins at the specified beginIndex. If
+      beginIndex is negative or be greater than the length of
+      this string, behaviour is undefined.
+
+      @param     beginIndex   the beginning index, inclusive.
+      @return    the specified substring.
+      @since LibreOffice 4.1
+    */
+    OUStringBuffer copy( sal_Int32 beginIndex ) const SAL_THROW(())
+    {
+        rtl_uString *pNew = 0;
+        rtl_uString_newFromSubString( &pNew, pData, beginIndex, getLength() - beginIndex );
+        return OUStringBuffer( pNew, (DO_NOT_ACQUIRE*)0 );
+    }
+    /**
+      Returns a new string buffer that is a substring of this string.
+
+      The substring begins at the specified beginIndex and contains count
+      characters.  If either beginIndex or count are negative,
+      or beginIndex + count are greater than the length of this string
+      then behaviour is undefined.
+
+      @param     beginIndex   the beginning index, inclusive.
+      @param     count        the number of characters.
+      @return    the specified substring.
+      @since LibreOffice 4.1
+    */
+    OUStringBuffer copy( sal_Int32 beginIndex, sal_Int32 count ) const SAL_THROW(())
+    {
+        rtl_uString *pNew = 0;
+        rtl_uString_newFromSubString( &pNew, pData, beginIndex, count );
+        return OUStringBuffer( pNew, (DO_NOT_ACQUIRE*)0 );
+    }
 
 #ifdef LIBO_INTERNAL_ONLY
     // This is to complement the RTL_FAST_STRING operator+, which allows any combination of valid 
operands,
@@ -1326,6 +1376,13 @@
 #endif
 
 private:
+    class DO_NOT_ACQUIRE{};
+
+    OUStringBuffer( rtl_uString * value, SAL_UNUSED_PARAMETER DO_NOT_ACQUIRE * )
+    {
+        pData = value;
+    }
+
     /**
         A pointer to the data structur which contains the data.
      */

-- 
To view, visit https://gerrit.libreoffice.org/2125
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibac7f624f1a1dcce653dff4bec573be457d70075
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Christina Roßmanith <ChrRossmanith@web.de>

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.