operator+ for stringbuffer

This is to complement the RTL_FAST_STRING variant, which allows any
combination, so even two stringbuffers.

Change-Id: Ic15d81246b3d0f3e22b51c0516409e95c3a4dc8d
This commit is contained in:
Luboš Luňák 2012-12-10 23:51:22 +01:00
parent c13ad097fb
commit 17b272effc
2 changed files with 30 additions and 0 deletions

View file

@ -862,6 +862,21 @@ public:
return *this;
}
#ifdef LIBO_INTERNAL_ONLY
// This is to complement the RTL_FAST_STRING operator+, which allows any combination of valid operands,
// even two buffers. It's intentional it returns OString, just like the operator+ would in the fast variant.
#ifndef RTL_FAST_STRING
/**
@internal
@since LibreOffice 4.1
*/
friend OString operator+( const OStringBuffer& str1, const OStringBuffer& str2 ) SAL_THROW(())
{
return OString( str1.pData ).concat( str2.pData );
}
#endif
#endif
private:
/**
A pointer to the data structur which contains the data.

View file

@ -1298,6 +1298,21 @@ public:
return stripStart(c) + stripEnd(c);
}
#ifdef LIBO_INTERNAL_ONLY
// This is to complement the RTL_FAST_STRING operator+, which allows any combination of valid operands,
// even two buffers. It's intentional it returns OUString, just like the operator+ would in the fast variant.
#ifndef RTL_FAST_STRING
/**
@internal
@since LibreOffice 4.1
*/
friend OUString operator+( const OUStringBuffer& str1, const OUStringBuffer& str2 ) SAL_THROW(())
{
return OUString( str1.pData ).concat( str2.pData );
}
#endif
#endif
private:
/**
A pointer to the data structur which contains the data.