diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-12-26 09:11:53 +0100 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2022-01-02 09:03:32 +0100 |
commit | 9f4aad493c7087256d03b01ca3fb18d96f461526 (patch) | |
tree | 6db1c950085bd2809cfb2e1ecf9ddcd3537da961 /include/rtl | |
parent | 41ee9dcc4e12c32d49294dd4b19a97cb24f8253f (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.hxx | 5 | ||||
-rw-r--r-- | include/rtl/ustring.hxx | 16 |
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. |