summaryrefslogtreecommitdiff
path: root/sal/inc/rtl/ustrbuf.hxx
diff options
context:
space:
mode:
authorChr. Rossmanith <ChrRossmanith@gmx.de>2013-03-06 22:19:30 +0100
committerMuthu Subramanian K <muthusuba@gmail.com>2013-03-07 08:49:44 +0000
commit98645ae6d4bc7b85730a0a9f00bd2de86dd09be9 (patch)
tree511a6b1382efde977a6e1524c2e35c47262dd47c /sal/inc/rtl/ustrbuf.hxx
parente669502dcf2f825842ba87ee4a14a0be26883e28 (diff)
add copy() to OUStringBuffer
Change-Id: Ibac7f624f1a1dcce653dff4bec573be457d70075 Reviewed-on: https://gerrit.libreoffice.org/2125 Reviewed-by: Muthu Subramanian K <muthusuba@gmail.com> Tested-by: Muthu Subramanian K <muthusuba@gmail.com>
Diffstat (limited to 'sal/inc/rtl/ustrbuf.hxx')
-rw-r--r--sal/inc/rtl/ustrbuf.hxx40
1 files changed, 40 insertions, 0 deletions
diff --git a/sal/inc/rtl/ustrbuf.hxx b/sal/inc/rtl/ustrbuf.hxx
index a7d57481fd1f..8a509466371c 100644
--- a/sal/inc/rtl/ustrbuf.hxx
+++ b/sal/inc/rtl/ustrbuf.hxx
@@ -1309,6 +1309,40 @@ public:
{
return stripStart(c) + stripEnd(c);
}
+ /**
+ 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(())
+ {
+ return copy( beginIndex, getLength() - beginIndex );
+ }
+ /**
+ 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_uStringbuffer_newFromStr_WithLength( &pNew, getStr() + beginIndex, count );
+ return OUStringBuffer( pNew, count + 16 );
+ }
#ifdef LIBO_INTERNAL_ONLY
// This is to complement the RTL_FAST_STRING operator+, which allows any combination of valid operands,
@@ -1326,6 +1360,12 @@ public:
#endif
private:
+ OUStringBuffer( rtl_uString * value, const sal_Int32 capacity )
+ {
+ pData = value;
+ nCapacity = capacity;
+ }
+
/**
A pointer to the data structur which contains the data.
*/