summaryrefslogtreecommitdiff
path: root/include/rtl
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2021-12-26 09:11:53 +0100
committerMike Kaganski <mike.kaganski@collabora.com>2022-01-02 09:03:32 +0100
commit9f4aad493c7087256d03b01ca3fb18d96f461526 (patch)
tree6db1c950085bd2809cfb2e1ecf9ddcd3537da961 /include/rtl
parent41ee9dcc4e12c32d49294dd4b19a97cb24f8253f (diff)
Introduce OUString::unacquired(const OUStringBuffer&)
... and avoid OUStringBuffer::toString when the temporary is used for checking current buffer content Change-Id: I114178f3e74ca3e4a3e517763f9eaab4797b7deb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127478 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'include/rtl')
-rw-r--r--include/rtl/ustrbuf.hxx5
-rw-r--r--include/rtl/ustring.hxx16
2 files changed, 21 insertions, 0 deletions
diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx
index 85fe744e9ee1..d35200643e01 100644
--- a/include/rtl/ustrbuf.hxx
+++ b/include/rtl/ustrbuf.hxx
@@ -1765,6 +1765,11 @@ template<> struct ToStringHelper<OUStringBuffer> {
else
return internalAppend(str.pData);
}
+
+ inline OUString const& OUString::unacquired(const OUStringBuffer& str)
+ {
+ return unacquired(&str.pData);
+ }
#endif
}
diff --git a/include/rtl/ustring.hxx b/include/rtl/ustring.hxx
index 13cc367c5589..cad257caeb58 100644
--- a/include/rtl/ustring.hxx
+++ b/include/rtl/ustring.hxx
@@ -541,6 +541,22 @@ public:
static OUString const & unacquired( rtl_uString * const * ppHandle )
{ return * reinterpret_cast< OUString const * >( ppHandle ); }
+#if defined LIBO_INTERNAL_ONLY
+ /** Provides an OUString const & passing an OUStringBuffer const reference.
+ It is more convenient to use C++ OUString member functions when checking
+ current buffer content. Use this function instead of toString (that
+ allocates a new OUString from buffer data) when the result is used in
+ comparisons.
+
+ @param str
+ an OUStringBuffer
+ @return
+ OUString const & based on given storage
+ @since LibreOffice 7.4
+ */
+ static OUString const& unacquired(const OUStringBuffer& str);
+#endif
+
/**
Assign a new string.