summaryrefslogtreecommitdiff
path: root/include/rtl/ustrbuf.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/rtl/ustrbuf.hxx')
-rw-r--r--include/rtl/ustrbuf.hxx32
1 files changed, 17 insertions, 15 deletions
diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx
index 9800ba8d3020..56968def8d71 100644
--- a/include/rtl/ustrbuf.hxx
+++ b/include/rtl/ustrbuf.hxx
@@ -174,10 +174,10 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- OUStringBuffer(OUStringLiteral const & literal):
- pData(nullptr), nCapacity(literal.size + 16) //TODO: check for overflow
+ template<std::size_t N> OUStringBuffer(OUStringLiteral<N> const & literal):
+ pData(nullptr), nCapacity(literal.getLength() + 16) //TODO: check for overflow
{
- rtl_uStringbuffer_newFromStr_WithLength(&pData, literal.data, literal.size);
+ rtl_uStringbuffer_newFromStr_WithLength(&pData, literal.getStr(), literal.getLength());
}
#endif
@@ -315,13 +315,13 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- OUStringBuffer & operator =(OUStringLiteral const & literal) {
- sal_Int32 const n = literal.size;
+ template<std::size_t N> OUStringBuffer & operator =(OUStringLiteral<N> const & literal) {
+ sal_Int32 const n = literal.getLength();
if (n >= nCapacity) {
ensureCapacity(n + 16); //TODO: check for overflow
}
std::memcpy(
- pData->buffer, literal.data,
+ pData->buffer, literal.getStr(),
(n + 1) * sizeof (sal_Unicode)); //TODO: check for overflow
pData->length = n;
return *this;
@@ -659,8 +659,8 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- OUStringBuffer & append(OUStringLiteral const & literal) {
- return append(literal.data, literal.size);
+ template<std::size_t N> OUStringBuffer & append(OUStringLiteral<N> const & literal) {
+ return append(literal.getStr(), literal.getLength());
}
#endif
@@ -1037,8 +1037,9 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- OUStringBuffer & insert(sal_Int32 offset, OUStringLiteral const & literal) {
- return insert(offset, literal.data, literal.size);
+ template<std::size_t N>
+ OUStringBuffer & insert(sal_Int32 offset, OUStringLiteral<N> const & literal) {
+ return insert(offset, literal.getStr(), literal.getLength());
}
#endif
@@ -1446,12 +1447,13 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- sal_Int32 indexOf(OUStringLiteral const & literal, sal_Int32 fromIndex = 0)
+ template<std::size_t N>
+ sal_Int32 indexOf(OUStringLiteral<N> const & literal, sal_Int32 fromIndex = 0)
const
{
sal_Int32 n = rtl_ustr_indexOfStr_WithLength(
- pData->buffer + fromIndex, pData->length - fromIndex, literal.data,
- literal.size);
+ pData->buffer + fromIndex, pData->length - fromIndex, literal.getStr(),
+ literal.getLength());
return n < 0 ? n : n + fromIndex;
}
#endif
@@ -1534,9 +1536,9 @@ public:
}
/** @overload @since LibreOffice 5.4 */
- sal_Int32 lastIndexOf(OUStringLiteral const & literal) const {
+ template<std::size_t N> sal_Int32 lastIndexOf(OUStringLiteral<N> const & literal) const {
return rtl_ustr_lastIndexOfStr_WithLength(
- pData->buffer, pData->length, literal.data, literal.size);
+ pData->buffer, pData->length, literal.getStr(), literal.getLength());
}
#endif