Kaydet (Commit) 06e76156 authored tarafından Luboš Luňák's avatar Luboš Luňák

microoptimization for "" OUString ctor

Now 'OUString()' and '""' should be exactly the same, and thus the latter better :).

Change-Id: If42b2ca5889967aaa8ccdaf531b45c75c12d54fd
üst bae655a7
......@@ -205,7 +205,10 @@ public:
{
assert( strlen( literal ) == internal::ConstCharArrayDetector< T >::size - 1 );
pData = 0;
rtl_string_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
if( internal::ConstCharArrayDetector< T, void >::size - 1 == 0 ) // empty string
rtl_string_new( &pData );
else
rtl_string_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
#ifdef RTL_STRING_UNITTEST
rtl_string_unittest_const_literal = true;
#endif
......@@ -304,7 +307,10 @@ public:
{
RTL_STRING_CONST_FUNCTION
assert( strlen( literal ) == internal::ConstCharArrayDetector< T >::size - 1 );
rtl_string_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
if( internal::ConstCharArrayDetector< T, void >::size - 1 == 0 ) // empty string
rtl_string_new( &pData );
else
rtl_string_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
return *this;
}
......
......@@ -231,7 +231,10 @@ public:
{
assert( strlen( literal ) == internal::ConstCharArrayDetector< T >::size - 1 );
pData = 0;
rtl_uString_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
if( internal::ConstCharArrayDetector< T, void >::size - 1 == 0 ) // empty string
rtl_uString_new( &pData );
else
rtl_uString_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
#ifdef RTL_STRING_UNITTEST
rtl_string_unittest_const_literal = true;
#endif
......@@ -393,7 +396,10 @@ public:
typename internal::ConstCharArrayDetector< T, OUString& >::Type operator=( T& literal )
{
assert( strlen( literal ) == internal::ConstCharArrayDetector< T >::size - 1 );
rtl_uString_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
if( internal::ConstCharArrayDetector< T, void >::size - 1 == 0 ) // empty string
rtl_uString_new( &pData );
else
rtl_uString_newFromLiteral( &pData, literal, internal::ConstCharArrayDetector< T, void >::size - 1, 0 );
return *this;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment