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.hxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx
index 94bf9c789a61..4016eaf210d9 100644
--- a/include/rtl/ustrbuf.hxx
+++ b/include/rtl/ustrbuf.hxx
@@ -224,6 +224,18 @@ public:
pData->length = l;
// TODO realloc in case pData->>length is noticeably smaller than l ?
}
+
+ /**
+ @overload
+ @internal
+ */
+ template< typename T >
+ OUStringBuffer( OUStringNumber< T >&& n )
+ : pData(NULL)
+ , nCapacity( n.length + 16 )
+ {
+ rtl_uStringbuffer_newFromStr_WithLength( &pData, n.buf, n.length );
+ }
#endif
/** Assign to this a copy of value.
*/
@@ -328,6 +340,13 @@ public:
pData->length = n;
return *this;
}
+
+ /** @overload @internal */
+ template<typename T>
+ OUStringBuffer & operator =(OUStringNumber<T> && n)
+ {
+ return *this = OUStringBuffer( std::move( n ));
+ }
#endif
/**
@@ -658,6 +677,16 @@ public:
pData->length = l;
return *this;
}
+
+ /**
+ @overload
+ @internal
+ */
+ template< typename T >
+ OUStringBuffer& append( OUStringNumber< T >&& c )
+ {
+ return append( c.buf, c.length );
+ }
#endif
/**