[Libreoffice-commits] core.git: accessibility/inc accessibility/source basic/inc basic/source compilerplugins/clang cui/source dbaccess/inc dbaccess/source desktop/source editeng/source filter/source fpicker/source framework/inc framework/source i18nutil/source idl/inc idl/source include/basic include/i18nutil include/oox include/sfx2 include/svx include/test include/unotools include/vbahelper include/vcl include/xmloff oox/source reportdesign/source sc/inc sc/source sd/inc sd/source sfx2/source slideshow/source svx/source sw/source test/source UnoControls/source unotools/source vbahelper/source vcl/inc vcl/qa vcl/source vcl/unx writerfilter/source xmloff/source xmlsecurity/inc xmlsecurity/source

Noel (via logerrit) logerrit at kemper.freedesktop.org
Tue Nov 17 08:58:27 UTC 2020


 UnoControls/source/controls/progressmonitor.cxx                   |   12 +-
 UnoControls/source/inc/progressmonitor.hxx                        |    4 
 accessibility/inc/standard/vclxaccessiblelist.hxx                 |    2 
 accessibility/source/standard/vclxaccessiblelist.cxx              |    2 
 basic/inc/sbxform.hxx                                             |    2 
 basic/source/basmgr/basmgr.cxx                                    |   12 +-
 basic/source/classes/codecompletecache.cxx                        |    4 
 basic/source/classes/sb.cxx                                       |    2 
 basic/source/sbx/sbxform.cxx                                      |    2 
 compilerplugins/clang/stringviewparam.cxx                         |   53 ++++++++++
 cui/source/customize/SvxConfigPageHelper.cxx                      |    2 
 cui/source/inc/SvxConfigPageHelper.hxx                            |    2 
 dbaccess/inc/core_resource.hxx                                    |    6 -
 dbaccess/source/core/dataaccess/databasedocument.cxx              |    2 
 dbaccess/source/core/dataaccess/databasedocument.hxx              |    2 
 dbaccess/source/core/dataaccess/databaseregistrations.cxx         |    6 -
 dbaccess/source/core/resource/core_resource.cxx                   |    6 -
 dbaccess/source/ui/dlg/generalpage.cxx                            |    4 
 dbaccess/source/ui/dlg/generalpage.hxx                            |    2 
 dbaccess/source/ui/inc/WCopyTable.hxx                             |    2 
 dbaccess/source/ui/misc/WCopyTable.cxx                            |    2 
 desktop/source/deployment/gui/dp_gui_dialog2.cxx                  |    4 
 desktop/source/deployment/gui/dp_gui_dialog2.hxx                  |    4 
 desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx      |    2 
 desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx      |    2 
 desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx                    |    4 
 editeng/source/editeng/impedit.hxx                                |    2 
 editeng/source/editeng/impedit4.cxx                               |    2 
 filter/source/msfilter/escherex.cxx                               |    4 
 filter/source/msfilter/msdffimp.cxx                               |    2 
 fpicker/source/office/autocmpledit.cxx                            |    2 
 fpicker/source/office/autocmpledit.hxx                            |    2 
 fpicker/source/office/fileview.cxx                                |    4 
 framework/inc/addonmenu.hxx                                       |    2 
 framework/inc/uielement/toolbarmerger.hxx                         |   10 -
 framework/inc/uifactory/menubarfactory.hxx                        |    2 
 framework/source/fwe/classes/addonmenu.cxx                        |    4 
 framework/source/uielement/popuptoolbarcontroller.cxx             |    6 -
 framework/source/uielement/toolbarmerger.cxx                      |   10 -
 framework/source/uifactory/menubarfactory.cxx                     |    4 
 framework/source/uifactory/statusbarfactory.cxx                   |    2 
 framework/source/uifactory/toolbarfactory.cxx                     |    2 
 i18nutil/source/utility/scripttypedetector.cxx                    |    4 
 idl/inc/database.hxx                                              |    2 
 idl/source/prj/database.cxx                                       |    2 
 include/basic/basmgr.hxx                                          |    8 -
 include/basic/codecompletecache.hxx                               |    4 
 include/basic/sbstar.hxx                                          |    2 
 include/i18nutil/scripttypedetector.hxx                           |    4 
 include/oox/core/contexthandler.hxx                               |    2 
 include/oox/core/relations.hxx                                    |    8 -
 include/sfx2/frmdescr.hxx                                         |    2 
 include/sfx2/sfxhelp.hxx                                          |    2 
 include/sfx2/templatelocalview.hxx                                |    2 
 include/svx/ActionDescriptionProvider.hxx                         |    2 
 include/svx/svdograf.hxx                                          |    2 
 include/test/sheet/xspreadsheets2.hxx                             |    2 
 include/unotools/localedatawrapper.hxx                            |    2 
 include/unotools/textsearch.hxx                                   |    2 
 include/vbahelper/vbahelper.hxx                                   |    6 -
 include/vcl/GraphicNativeTransform.hxx                            |    2 
 include/vcl/GraphicObject.hxx                                     |    2 
 include/vcl/graphicfilter.hxx                                     |   38 +++----
 include/xmloff/formlayerimport.hxx                                |    4 
 oox/source/core/contexthandler.cxx                                |    2 
 oox/source/core/relations.cxx                                     |    4 
 reportdesign/source/ui/inc/GeometryHandler.hxx                    |    2 
 reportdesign/source/ui/inspection/GeometryHandler.cxx             |    2 
 sc/inc/dpobject.hxx                                               |    2 
 sc/inc/global.hxx                                                 |    2 
 sc/source/core/data/dpobject.cxx                                  |    2 
 sc/source/core/data/global.cxx                                    |    2 
 sc/source/filter/excel/xecontent.cxx                              |    2 
 sc/source/filter/excel/xeescher.cxx                               |    4 
 sc/source/filter/excel/xestream.cxx                               |    8 -
 sc/source/filter/excel/xestyle.cxx                                |    2 
 sc/source/filter/inc/xestream.hxx                                 |    2 
 sc/source/filter/rtf/eeimpars.cxx                                 |    2 
 sc/source/filter/xcl97/xcl97rec.cxx                               |    6 -
 sc/source/filter/xml/xmltabi.cxx                                  |    2 
 sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx       |   24 ++--
 sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx    |    4 
 sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx     |   12 +-
 sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx      |    4 
 sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx            |    4 
 sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx |   10 -
 sc/source/ui/dbgui/filtdlg.cxx                                    |    2 
 sc/source/ui/dbgui/pfiltdlg.cxx                                   |    2 
 sc/source/ui/dbgui/tpsort.cxx                                     |    4 
 sc/source/ui/dbgui/tpsubt.cxx                                     |    2 
 sc/source/ui/dialogs/searchresults.cxx                            |    2 
 sc/source/ui/drawfunc/fuins1.cxx                                  |    2 
 sc/source/ui/inc/TableFillingAndNavigationTools.hxx               |   10 -
 sc/source/ui/inc/drawview.hxx                                     |    2 
 sc/source/ui/inc/viewfunc.hxx                                     |    2 
 sc/source/ui/vba/vbacondition.cxx                                 |    2 
 sc/source/ui/vba/vbaformat.cxx                                    |    2 
 sc/source/ui/vba/vbarange.cxx                                     |    4 
 sc/source/ui/vba/vbastyle.cxx                                     |    2 
 sc/source/ui/view/drawview.cxx                                    |    4 
 sc/source/ui/view/viewfun3.cxx                                    |    6 -
 sc/source/ui/view/viewfun7.cxx                                    |    8 -
 sd/inc/sdfilter.hxx                                               |    2 
 sd/source/filter/eppt/epptbase.hxx                                |    2 
 sd/source/filter/eppt/pptx-text.cxx                               |    2 
 sd/source/filter/ppt/pptinanimations.cxx                          |    2 
 sd/source/filter/ppt/pptinanimations.hxx                          |    2 
 sd/source/filter/sdfilter.cxx                                     |    2 
 sd/source/ui/animations/CustomAnimationDialog.cxx                 |    4 
 sd/source/ui/view/sdview4.cxx                                     |    2 
 sfx2/source/appl/sfxhelp.cxx                                      |    2 
 sfx2/source/control/templatelocalview.cxx                         |    2 
 sfx2/source/control/templatesearchview.cxx                        |    2 
 sfx2/source/doc/frmdescr.cxx                                      |    2 
 sfx2/source/inc/templatesearchview.hxx                            |    2 
 slideshow/source/engine/shapes/viewmediashape.cxx                 |    2 
 slideshow/source/engine/shapes/viewmediashape.hxx                 |    2 
 svx/source/svdraw/ActionDescriptionProvider.cxx                   |    2 
 svx/source/svdraw/svdograf.cxx                                    |    2 
 svx/source/xoutdev/_xoutbmp.cxx                                   |    8 -
 sw/source/filter/html/swhtml.hxx                                  |   12 +-
 test/source/sheet/xspreadsheets2.cxx                              |    2 
 unotools/source/i18n/localedatawrapper.cxx                        |    4 
 unotools/source/i18n/textsearch.cxx                               |    6 -
 vbahelper/source/msforms/vbalistcontrolhelper.cxx                 |    4 
 vbahelper/source/msforms/vbalistcontrolhelper.hxx                 |    2 
 vbahelper/source/vbahelper/vbahelper.cxx                          |    6 -
 vcl/inc/graphic/Manager.hxx                                       |    3 
 vcl/inc/unx/gtk/gtksalmenu.hxx                                    |    2 
 vcl/qa/cppunit/GraphicDescriptorTest.cxx                          |    8 -
 vcl/qa/cppunit/GraphicTest.cxx                                    |   18 +--
 vcl/qa/cppunit/graphicfilter/filters-test.cxx                     |   10 -
 vcl/source/filter/FilterConfigCache.cxx                           |   16 +--
 vcl/source/filter/FilterConfigCache.hxx                           |   16 +--
 vcl/source/filter/GraphicNativeTransform.cxx                      |    8 -
 vcl/source/filter/graphicfilter.cxx                               |   22 ++--
 vcl/source/graphic/GraphicObject.cxx                              |    2 
 vcl/source/graphic/Manager.cxx                                    |   16 +--
 vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx                         |    2 
 vcl/unx/gtk3/fpicker/SalGtkFilePicker.hxx                         |    2 
 vcl/unx/gtk3/gtk3gtksalmenu.cxx                                   |    4 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx                 |    4 
 writerfilter/source/dmapper/DomainMapper_Impl.hxx                 |    2 
 xmloff/source/draw/ximppage.cxx                                   |    2 
 xmloff/source/forms/formlayerimport.cxx                           |    4 
 xmloff/source/table/XMLTableImport.cxx                            |    4 
 xmloff/source/text/txtimp.cxx                                     |    2 
 xmlsecurity/inc/macrosecurity.hxx                                 |    2 
 xmlsecurity/source/dialogs/macrosecurity.cxx                      |    2 
 149 files changed, 376 insertions(+), 326 deletions(-)

New commits:
commit 8ef6067596cf4b2c52fbce94b44bf7af9fefa643
Author:     Noel <noelgrandin at gmail.com>
AuthorDate: Fri Nov 13 14:29:59 2020 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Nov 17 09:57:35 2020 +0100

    loplugin:stringviewparam check methods too
    
    not just functions
    
    Change-Id: Icca295dd159002b428b73f2c95d40725434f04d9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105789
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/UnoControls/source/controls/progressmonitor.cxx b/UnoControls/source/controls/progressmonitor.cxx
index 905213b1e8e5..cabbdc1e4204 100644
--- a/UnoControls/source/controls/progressmonitor.cxx
+++ b/UnoControls/source/controls/progressmonitor.cxx
@@ -831,21 +831,21 @@ IMPL_TextlistItem* ProgressMonitor::impl_searchTopic ( const OUString& rTopic, b
 
 // addText, updateText
 bool ProgressMonitor::impl_debug_checkParameter (
-    const OUString& rTopic,
-    const OUString& rText
+    std::u16string_view rTopic,
+    std::u16string_view rText
 ) {
-    if ( rTopic.isEmpty()       ) return false;    // ""
+    if ( rTopic.empty()       ) return false;    // ""
 
-    if ( rText.isEmpty()       ) return false;    // ""
+    if ( rText.empty()       ) return false;    // ""
 
     // Parameter OK ... return true.
     return true;
 }
 
 // removeText
-bool ProgressMonitor::impl_debug_checkParameter ( const OUString& rTopic )
+bool ProgressMonitor::impl_debug_checkParameter ( std::u16string_view rTopic )
 {
-    if ( rTopic.isEmpty()      ) return false;    // ""
+    if ( rTopic.empty()      ) return false;    // ""
 
     // Parameter OK ... return true.
     return true;
diff --git a/UnoControls/source/inc/progressmonitor.hxx b/UnoControls/source/inc/progressmonitor.hxx
index 4f407eeda2e6..ad4accba562d 100644
--- a/UnoControls/source/inc/progressmonitor.hxx
+++ b/UnoControls/source/inc/progressmonitor.hxx
@@ -223,8 +223,8 @@ private:
 
 // debug methods
 
-    static bool impl_debug_checkParameter( const OUString& sTopic, const OUString& sText );    // addText, updateText
-    static bool impl_debug_checkParameter( const OUString& rTopic );                           // removeText
+    static bool impl_debug_checkParameter( std::u16string_view sTopic, std::u16string_view sText );    // addText, updateText
+    static bool impl_debug_checkParameter( std::u16string_view rTopic );                           // removeText
 
 // private variables
 
diff --git a/accessibility/inc/standard/vclxaccessiblelist.hxx b/accessibility/inc/standard/vclxaccessiblelist.hxx
index 05c432301c20..7d05067b0aa6 100644
--- a/accessibility/inc/standard/vclxaccessiblelist.hxx
+++ b/accessibility/inc/standard/vclxaccessiblelist.hxx
@@ -118,7 +118,7 @@ public:
     bool    IsInDropDown() const;
     void        HandleDropOpen();
     void ProcessWindowEvent (const VclWindowEvent& rVclWindowEvent, bool b_IsDropDownList);
-    void UpdateSelection_Acc (const OUString& sTextOfSelectedItem, bool b_IsDropDownList);
+    void UpdateSelection_Acc (std::u16string_view sTextOfSelectedItem, bool b_IsDropDownList);
     void UpdateSelection_Impl_Acc (bool b_IsDropDownList);
 
     static void NotifyListItem(css::uno::Any const & val);
diff --git a/accessibility/source/standard/vclxaccessiblelist.cxx b/accessibility/source/standard/vclxaccessiblelist.cxx
index b64b10bb8cb9..ecb3274d0b0e 100644
--- a/accessibility/source/standard/vclxaccessiblelist.cxx
+++ b/accessibility/source/standard/vclxaccessiblelist.cxx
@@ -174,7 +174,7 @@ void VCLXAccessibleList::notifyVisibleStates(bool _bSetNew )
     }
 }
 
-void VCLXAccessibleList::UpdateSelection_Acc (const OUString& /*sTextOfSelectedItem*/, bool b_IsDropDownList)
+void VCLXAccessibleList::UpdateSelection_Acc (std::u16string_view /*sTextOfSelectedItem*/, bool b_IsDropDownList)
 {
     if ( m_aBoxType != COMBOBOX )
         return;
diff --git a/basic/inc/sbxform.hxx b/basic/inc/sbxform.hxx
index 94dece69832c..8173c8ed87b7 100644
--- a/basic/inc/sbxform.hxx
+++ b/basic/inc/sbxform.hxx
@@ -103,7 +103,7 @@ class SbxBasicFormater {
     void   LeftShiftDecimalPoint( OUStringBuffer& sStrg );
     void   StrRoundDigit( OUStringBuffer& sStrg, short nPos, bool& bOverflow );
     void   StrRoundDigit( OUStringBuffer& sStrg, short nPos );
-    static void ParseBack( OUStringBuffer& sStrg, const OUString& sFormatStrg,
+    static void ParseBack( OUStringBuffer& sStrg, std::u16string_view sFormatStrg,
                                        short nFormatPos );
     // Methods for string conversion with sprintf():
     void   InitScan( double _dNum );
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index d1d4b86565b7..50ff14effade 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -126,7 +126,7 @@ public:
     static void insertLibraryImpl( const uno::Reference< script::XLibraryContainer >& xScriptCont, BasicManager* pMgr,
                                    const uno::Any& aLibAny, const OUString& aLibName );
     static void addLibraryModulesImpl( BasicManager const * pMgr, const uno::Reference< container::XNameAccess >& xLibNameAccess,
-                                       const OUString& aLibName );
+                                       std::u16string_view aLibName );
 
 
     // XEventListener
@@ -172,7 +172,7 @@ void BasMgrContainerListenerImpl::insertLibraryImpl( const uno::Reference< scrip
 
 
 void BasMgrContainerListenerImpl::addLibraryModulesImpl( BasicManager const * pMgr,
-    const uno::Reference< container::XNameAccess >& xLibNameAccess, const OUString& aLibName )
+    const uno::Reference< container::XNameAccess >& xLibNameAccess, std::u16string_view aLibName )
 {
     uno::Sequence< OUString > aModuleNames = xLibNameAccess->getElementNames();
     sal_Int32 nModuleCount = aModuleNames.getLength();
@@ -823,7 +823,7 @@ BasicManager::~BasicManager()
     Broadcast( SfxHint( SfxHintId::Dying) );
 }
 
-bool BasicManager::HasExeCode( const OUString& sLib )
+bool BasicManager::HasExeCode( std::u16string_view sLib )
 {
     StarBASIC* pLib = GetLib(sLib);
     if ( pLib )
@@ -1199,7 +1199,7 @@ StarBASIC* BasicManager::GetStdLib() const
     return pLib;
 }
 
-StarBASIC* BasicManager::GetLib( const OUString& rName ) const
+StarBASIC* BasicManager::GetLib( std::u16string_view rName ) const
 {
     for (auto const& rpLib : mpImpl->aLibs)
     {
@@ -1211,7 +1211,7 @@ StarBASIC* BasicManager::GetLib( const OUString& rName ) const
     return nullptr;
 }
 
-sal_uInt16 BasicManager::GetLibId( const OUString& rName ) const
+sal_uInt16 BasicManager::GetLibId( std::u16string_view rName ) const
 {
     for (size_t i = 0; i < mpImpl->aLibs.size(); i++)
     {
@@ -1223,7 +1223,7 @@ sal_uInt16 BasicManager::GetLibId( const OUString& rName ) const
     return LIB_NOTFOUND;
 }
 
-bool BasicManager::HasLib( const OUString& rName ) const
+bool BasicManager::HasLib( std::u16string_view rName ) const
 {
     for (const auto& rpLib : mpImpl->aLibs)
     {
diff --git a/basic/source/classes/codecompletecache.cxx b/basic/source/classes/codecompletecache.cxx
index 4c0d3523a86e..e2993c28581a 100644
--- a/basic/source/classes/codecompletecache.cxx
+++ b/basic/source/classes/codecompletecache.cxx
@@ -147,7 +147,7 @@ void CodeCompleteDataCache::InsertLocalVar( const OUString& sProcName, const OUS
     }
 }
 
-OUString CodeCompleteDataCache::GetVarType( const OUString& sVarName ) const
+OUString CodeCompleteDataCache::GetVarType( std::u16string_view sVarName ) const
 {
     for (auto const& varScope : aVarScopes)
     {
@@ -169,7 +169,7 @@ OUString CodeCompleteDataCache::GetVarType( const OUString& sVarName ) const
     return OUString(); //not found
 }
 
-OUString CodeCompleteDataCache::GetCorrectCaseVarName( const OUString& sVarName, const OUString& sActProcName ) const
+OUString CodeCompleteDataCache::GetCorrectCaseVarName( std::u16string_view sVarName, std::u16string_view sActProcName ) const
 {
     for (auto const& varScope : aVarScopes)
     {
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
index 6ae3692cc833..f8426f4e1a7f 100644
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
@@ -1086,7 +1086,7 @@ void StarBASIC::Clear()
     pModules.clear();
 }
 
-SbModule* StarBASIC::FindModule( const OUString& rName )
+SbModule* StarBASIC::FindModule( std::u16string_view rName )
 {
     for (const auto& pModule: pModules)
     {
diff --git a/basic/source/sbx/sbxform.cxx b/basic/source/sbx/sbxform.cxx
index 85374facd545..052a2dcc159e 100644
--- a/basic/source/sbx/sbxform.cxx
+++ b/basic/source/sbx/sbxform.cxx
@@ -214,7 +214,7 @@ void SbxBasicFormater::StrRoundDigit( OUStringBuffer& sStrg, short nPos )
     StrRoundDigit( sStrg, nPos, bOverflow );
 }
 
-void SbxBasicFormater::ParseBack( OUStringBuffer& sStrg, const OUString& sFormatStrg,
+void SbxBasicFormater::ParseBack( OUStringBuffer& sStrg, std::u16string_view sFormatStrg,
                                   short nFormatPos )
 {
     for( sal_Int32 i = nFormatPos;
diff --git a/compilerplugins/clang/stringviewparam.cxx b/compilerplugins/clang/stringviewparam.cxx
index c0c720f06df5..76c34cd2adb9 100644
--- a/compilerplugins/clang/stringviewparam.cxx
+++ b/compilerplugins/clang/stringviewparam.cxx
@@ -158,6 +158,7 @@ DeclRefExpr const* relevantCXXMemberCallExpr(CXXMemberCallExpr const* expr)
 
 DeclRefExpr const* relevantCXXOperatorCallExpr(CXXOperatorCallExpr const* expr)
 {
+    // TODO OO_EqualEqual and similar
     if (expr->getOperator() != OO_Subscript)
     {
         return nullptr;
@@ -221,6 +222,48 @@ public:
         return ret;
     }
 
+    // TODO Need to duplicate this method for CXXConstructorDecl
+    bool TraverseCXXMethodDecl(CXXMethodDecl* decl)
+    {
+        if (ignoreLocation(decl))
+        {
+            return true;
+        }
+        if (!relevantFunctionDecl(decl))
+        {
+            return FunctionAddress::TraverseCXXMethodDecl(decl);
+        }
+        auto const oldParams = currentParams_;
+        auto const n = decl->getNumParams();
+        for (unsigned i = 0; i != n; ++i)
+        {
+            auto const d = decl->getParamDecl(i);
+            if (relevantParmVarDecl(d))
+            {
+                currentParams_.insert(d);
+            }
+        }
+        auto const ret = FunctionAddress::TraverseCXXMethodDecl(decl);
+        if (ret)
+        {
+            for (unsigned i = 0; i != n; ++i)
+            {
+                auto const d1 = decl->getParamDecl(i);
+                if (currentParams_.find(d1) == currentParams_.end())
+                {
+                    continue;
+                }
+                if (containsPreprocessingConditionalInclusion(decl->getSourceRange()))
+                {
+                    break;
+                }
+                badParams_.push_back(d1);
+            }
+        }
+        currentParams_ = oldParams;
+        return ret;
+    }
+
     bool TraverseImplicitCastExpr(ImplicitCastExpr* expr)
     {
         if (ignoreLocation(expr))
@@ -300,6 +343,12 @@ private:
         {
             return;
         }
+        StringRef fn(handler.getMainFileName());
+        // leave the string QA tests alone
+        if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sal/qa/"))
+        {
+            return;
+        }
         if (!TraverseDecl(compiler.getASTContext().getTranslationUnitDecl()))
         {
             return;
@@ -346,6 +395,10 @@ private:
                 return false;
             }
         }
+        if (decl->isOverloadedOperator()) // e.g. operator()(const OUString&, const OUString&)
+        {
+            return false;
+        }
         if (decl->isFunctionTemplateSpecialization())
         {
             return false;
diff --git a/cui/source/customize/SvxConfigPageHelper.cxx b/cui/source/customize/SvxConfigPageHelper.cxx
index d54bb7cdaf1a..468441a6d7cc 100644
--- a/cui/source/customize/SvxConfigPageHelper.cxx
+++ b/cui/source/customize/SvxConfigPageHelper.cxx
@@ -45,7 +45,7 @@ void SvxConfigPageHelper::RemoveEntry(SvxEntries* pEntries, SvxConfigEntry const
 }
 
 OUString SvxConfigPageHelper::replaceSaveInName(const OUString& rMessage,
-                                                const OUString& rSaveInName)
+                                                std::u16string_view rSaveInName)
 {
     OUString name = rMessage.replaceFirst("%SAVE IN SELECTION%", rSaveInName);
 
diff --git a/cui/source/inc/SvxConfigPageHelper.hxx b/cui/source/inc/SvxConfigPageHelper.hxx
index 797ff74c9a5e..9a53af2651aa 100644
--- a/cui/source/inc/SvxConfigPageHelper.hxx
+++ b/cui/source/inc/SvxConfigPageHelper.hxx
@@ -28,7 +28,7 @@ class SvxConfigPageHelper
 public:
     static void RemoveEntry(SvxEntries* pEntries, SvxConfigEntry const* pChildEntry);
 
-    static OUString replaceSaveInName(const OUString& rMessage, const OUString& rSaveInName);
+    static OUString replaceSaveInName(const OUString& rMessage, std::u16string_view rSaveInName);
     static OUString stripHotKey(const OUString& str);
     static OUString replaceSixteen(const OUString& str, sal_Int32 nReplacement);
 
diff --git a/dbaccess/inc/core_resource.hxx b/dbaccess/inc/core_resource.hxx
index 8cddf133f029..0e1e80ee3efd 100644
--- a/dbaccess/inc/core_resource.hxx
+++ b/dbaccess/inc/core_resource.hxx
@@ -54,7 +54,7 @@ namespace dbaccess
         static OUString  loadString(
                 const char* pResId,
                 const char* _pPlaceholderAscii,
-                const OUString&  _rReplace
+                std::u16string_view  _rReplace
         );
 
         /** loads a string from the resource file, substituting two placeholders with given strings
@@ -73,9 +73,9 @@ namespace dbaccess
         static OUString  loadString(
                 const char* pResId,
                 const char* _pPlaceholderAscii1,
-                const OUString& _rReplace1,
+                std::u16string_view _rReplace1,
                 const char* _pPlaceholderAscii2,
-                const OUString& _rReplace2
+                std::u16string_view _rReplace2
         );
     };
 }
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index 4e9bde5f31d2..1cb595279f20 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -991,7 +991,7 @@ void SAL_CALL ODatabaseDocument::store(  )
     }
 }
 
-void ODatabaseDocument::impl_throwIOExceptionCausedBySave_throw( const Any& i_rError, const OUString& i_rTargetURL ) const
+void ODatabaseDocument::impl_throwIOExceptionCausedBySave_throw( const Any& i_rError, std::u16string_view i_rTargetURL ) const
 {
     OUString sErrorMessage = extractExceptionMessage( m_pImpl->m_aContext, i_rError );
     sErrorMessage = ResourceManager::loadString(
diff --git a/dbaccess/source/core/dataaccess/databasedocument.hxx b/dbaccess/source/core/dataaccess/databasedocument.hxx
index 1ed509c27d60..6ce35092ea5b 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.hxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.hxx
@@ -625,7 +625,7 @@ private:
     */
     void        impl_throwIOExceptionCausedBySave_throw(
                     const css::uno::Any& i_rError,
-                    const OUString& i_rTargetURL
+                    std::u16string_view i_rTargetURL
                 ) const;
 };
 
diff --git a/dbaccess/source/core/dataaccess/databaseregistrations.cxx b/dbaccess/source/core/dataaccess/databaseregistrations.cxx
index c147f99ec694..3e9b59551546 100644
--- a/dbaccess/source/core/dataaccess/databaseregistrations.cxx
+++ b/dbaccess/source/core/dataaccess/databaseregistrations.cxx
@@ -94,7 +94,7 @@ namespace dbaccess
 
     private:
         void
-                impl_checkValidName_common(const OUString& _rName);
+                impl_checkValidName_common(std::u16string_view _rName);
         ::utl::OConfigurationNode
                 impl_checkValidName_throw_must_exist(const OUString& _rName);
         ::utl::OConfigurationNode
@@ -201,12 +201,12 @@ namespace dbaccess
         return aNewNode;
     }
 
-    void DatabaseRegistrations::impl_checkValidName_common(const OUString& _rName)
+    void DatabaseRegistrations::impl_checkValidName_common(std::u16string_view _rName)
     {
         if ( !m_aConfigurationRoot.isValid() )
             throw RuntimeException( OUString(), *this );
 
-        if ( _rName.isEmpty() )
+        if ( _rName.empty() )
             throw IllegalArgumentException( OUString(), *this, 1 );
     }
 
diff --git a/dbaccess/source/core/resource/core_resource.cxx b/dbaccess/source/core/resource/core_resource.cxx
index 34ab1b0ba829..cecf7d3b4773 100644
--- a/dbaccess/source/core/resource/core_resource.cxx
+++ b/dbaccess/source/core/resource/core_resource.cxx
@@ -38,14 +38,14 @@ namespace dbaccess
         return Translate::get(pResId, Translate::Create("dba"));
     }
 
-    OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii, const OUString& _rReplace)
+    OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii, std::u16string_view _rReplace)
     {
         OUString sString(loadString(pResId));
         return sString.replaceFirst( OUString::createFromAscii(_pPlaceholderAscii), _rReplace );
     }
 
-    OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii1, const OUString& _rReplace1,
-        const char* _pPlaceholderAscii2, const OUString& _rReplace2)
+    OUString ResourceManager::loadString(const char* pResId, const char* _pPlaceholderAscii1, std::u16string_view _rReplace1,
+        const char* _pPlaceholderAscii2, std::u16string_view _rReplace2)
     {
         OUString sString(loadString(pResId));
         sString = sString.replaceFirst( OUString::createFromAscii(_pPlaceholderAscii1), _rReplace1 );
diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx
index 37ac9c5c1ae5..d61032fd4919 100644
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -171,10 +171,10 @@ namespace dbaui
     {
     }
 
-    void OGeneralPage::switchMessage(const OUString& _sURLPrefix)
+    void OGeneralPage::switchMessage(std::u16string_view _sURLPrefix)
     {
         SPECIAL_MESSAGE eMessage = smNone;
-        if ( _sURLPrefix.isEmpty()/*_eType == m_eNotSupportedKnownType*/ )
+        if ( _sURLPrefix.empty()/*_eType == m_eNotSupportedKnownType*/ )
         {
             eMessage = smUnsupportedType;
         }
diff --git a/dbaccess/source/ui/dlg/generalpage.hxx b/dbaccess/source/ui/dlg/generalpage.hxx
index 68e7a90cbfa0..452817a056cf 100644
--- a/dbaccess/source/ui/dlg/generalpage.hxx
+++ b/dbaccess/source/ui/dlg/generalpage.hxx
@@ -90,7 +90,7 @@ namespace dbaui
 
         void implSetCurrentType( const OUString& _eType );
 
-        void switchMessage(const OUString& _sURLPrefix);
+        void switchMessage(std::u16string_view _sURLPrefix);
 
         /// sets the title of the parent dialog
         virtual void setParentTitle( const OUString& _sURLPrefix );
diff --git a/dbaccess/source/ui/inc/WCopyTable.hxx b/dbaccess/source/ui/inc/WCopyTable.hxx
index 6307234e89de..1d650d7a6171 100644
--- a/dbaccess/source/ui/inc/WCopyTable.hxx
+++ b/dbaccess/source/ui/inc/WCopyTable.hxx
@@ -402,7 +402,7 @@ namespace dbaui
         OUString createUniqueName(const OUString& _sName);
 
         // displays an error message that a column type is not supported
-        void showColumnTypeNotSupported(const OUString& _rColumnName);
+        void showColumnTypeNotSupported(std::u16string_view _rColumnName);
 
         void removeColumnNameFromNameMap(const OUString& _sName);
         void showError(const OUString& _sErrorMessage);
diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx
index 373a17907952..9c92f1301c71 100644
--- a/dbaccess/source/ui/misc/WCopyTable.cxx
+++ b/dbaccess/source/ui/misc/WCopyTable.cxx
@@ -1525,7 +1525,7 @@ OUString OCopyTableWizard::createUniqueName(const OUString& _sName)
     return sName;
 }
 
-void OCopyTableWizard::showColumnTypeNotSupported(const OUString& _rColumnName)
+void OCopyTableWizard::showColumnTypeNotSupported(std::u16string_view _rColumnName)
 {
     OUString sMessage( DBA_RES( STR_UNKNOWN_TYPE_FOUND ) );
     sMessage = sMessage.replaceFirst("#1",_rColumnName);
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index da8106bcc3e3..ca2d23fff9a6 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -362,7 +362,7 @@ void DialogHelper::openWebBrowser(const OUString& sURL, const OUString& sTitle)
     }
 }
 
-bool DialogHelper::installExtensionWarn(const OUString &rExtensionName)
+bool DialogHelper::installExtensionWarn(std::u16string_view rExtensionName)
 {
     const SolarMutexGuard guard;
 
@@ -535,7 +535,7 @@ void ExtMgrDialog::checkEntries()
     m_xExtensionBox->checkEntries();
 }
 
-bool ExtMgrDialog::removeExtensionWarn(const OUString &rExtensionName)
+bool ExtMgrDialog::removeExtensionWarn(std::u16string_view rExtensionName)
 {
     const SolarMutexGuard guard;
     incBusy();
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
index 09f2a2e42a9f..fe0a953dc213 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
@@ -82,7 +82,7 @@ public:
     void            incBusy() { m_aBusy.incBusy(m_pWindow); }
     void            decBusy() { m_aBusy.decBusy(); }
     bool            isBusy() const { return m_aBusy.isBusy(); }
-    bool            installExtensionWarn(const OUString &rExtensionURL);
+    bool            installExtensionWarn(std::u16string_view rExtensionURL);
     bool            installForAllUsers(bool &bInstallForAll);
 };
 
@@ -123,7 +123,7 @@ class ExtMgrDialog : public weld::GenericDialogController
     std::unique_ptr<weld::ProgressBar> m_xProgressBar;
     std::unique_ptr<weld::Button> m_xCancelBtn;
 
-    bool removeExtensionWarn(const OUString &rExtensionTitle);
+    bool removeExtensionWarn(std::u16string_view rExtensionTitle);
 
     DECL_LINK( HandleOptionsBtn, weld::Button&, void );
     DECL_LINK( HandleAddBtn, weld::Button&, void );
diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
index f38a853de71f..bf15f687f0dd 100644
--- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx
@@ -232,7 +232,7 @@ void UpdateInstallDialog::updateDone()
 
 // make sure the solar mutex is locked before calling
 //sets an error message in the text area
-void UpdateInstallDialog::setError(INSTALL_ERROR err, OUString const & sExtension,
+void UpdateInstallDialog::setError(INSTALL_ERROR err, std::u16string_view sExtension,
     OUString const & exceptionMessage)
 {
     OUString sError;
diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
index 1acfd85508d2..7e970f7b346c 100644
--- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
+++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx
@@ -78,7 +78,7 @@ private:
         ERROR_INSTALLATION,
         ERROR_LICENSE_DECLINED
     };
-    void setError(INSTALL_ERROR err, OUString const & sExtension, OUString const & exceptionMessage);
+    void setError(INSTALL_ERROR err, std::u16string_view sExtension, OUString const & exceptionMessage);
     void setError(OUString const & exceptionMessage);
     const css::uno::Reference< css::deployment::XExtensionManager >& getExtensionManager() const
             { return m_xExtensionManager; }
diff --git a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
index 060d2918fb50..98a957c014e8 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
@@ -64,7 +64,7 @@ class CommandEnvironmentImpl
 
     /// @throws RuntimeException
     void update_( Any const & Status );
-    void printLicense(const OUString & sName,const OUString& sLicense,
+    void printLicense(std::u16string_view sName,const OUString& sLicense,
                       bool & accept, bool & decline);
 
 public:
@@ -125,7 +125,7 @@ CommandEnvironmentImpl::~CommandEnvironmentImpl()
 
 //May throw exceptions
 void CommandEnvironmentImpl::printLicense(
-    const OUString & sName, const OUString& sLicense, bool & accept, bool &decline)
+    std::u16string_view sName, const OUString& sLicense, bool & accept, bool &decline)
 {
     OUString s1tmp(DpResId(RID_STR_UNOPKG_ACCEPT_LIC_1));
     OUString s1(s1tmp.replaceAll("$NAME", sName));
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index dc28f3db2a65..3adffe49b1eb 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1074,7 +1074,7 @@ public:
     void                SetAutoCompleteText(const OUString& rStr, bool bUpdateTipWindow);
 
     EditSelection       TransliterateText( const EditSelection& rSelection, TransliterationFlags nTransliterationMode );
-    short               ReplaceTextOnly( ContentNode* pNode, sal_Int32 nCurrentStart, const OUString& rText, const css::uno::Sequence< sal_Int32 >& rOffsets );
+    short               ReplaceTextOnly( ContentNode* pNode, sal_Int32 nCurrentStart, std::u16string_view rText, const css::uno::Sequence< sal_Int32 >& rOffsets );
 
     void                SetAsianCompressionMode( CharCompressType n );
     CharCompressType    GetAsianCompressionMode() const { return nAsianCompressionMode; }
diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx
index cdb2995acc43..e42a36c5e826 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -2975,7 +2975,7 @@ EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection,
 short ImpEditEngine::ReplaceTextOnly(
     ContentNode* pNode,
     sal_Int32 nCurrentStart,
-    const OUString& rNewText,
+    std::u16string_view rNewText,
     const uno::Sequence< sal_Int32 >& rOffsets )
 {
     // Change text without losing the attributes
diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx
index ce03064a89c0..505e43d91fc1 100644
--- a/filter/source/msfilter/escherex.cxx
+++ b/filter/source/msfilter/escherex.cxx
@@ -4195,7 +4195,7 @@ sal_uInt32 EscherGraphicProvider::GetBlibID( SvStream& rPicOutStrm, GraphicObjec
                     const char* const pString = "MSOFFICE9.0";
                     aGIFStream.WriteBytes(pString, strlen(pString));
                     nErrCode = rFilter.ExportGraphic( aGraphic, OUString(), aGIFStream,
-                        rFilter.GetExportFormatNumberForShortName( "GIF" ) );
+                        rFilter.GetExportFormatNumberForShortName( u"GIF" ) );
                     SAL_WARN_IF(
                         nErrCode != ERRCODE_NONE, "filter.ms",
                         "ExportGraphic to GIF failed with " << nErrCode);
@@ -4216,7 +4216,7 @@ sal_uInt32 EscherGraphicProvider::GetBlibID( SvStream& rPicOutStrm, GraphicObjec
                         aFilterProp.Value <<= aAdditionalChunkSequence;
                         aFilterData[ 0 ] = aFilterProp;
                         nErrCode = rFilter.ExportGraphic( aGraphic, OUString(), aStream,
-                                                          rFilter.GetExportFormatNumberForShortName( "PNG" ), &aFilterData );
+                                                          rFilter.GetExportFormatNumberForShortName( u"PNG" ), &aFilterData );
                     }
                 }
                 if ( nErrCode == ERRCODE_NONE )
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 6cba89b7d4fa..aee695bf3990 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -4001,7 +4001,7 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
     {
         if( aLinkFileName.getLength() )
         {
-            static_cast<SdrGrafObj*>(pRet)->SetGraphicLink( aLinkFileName, ""/*TODO?*/, aLinkFilterName );
+            static_cast<SdrGrafObj*>(pRet)->SetGraphicLink( aLinkFileName, u""/*TODO?*/, aLinkFilterName );
             Graphic aGraphic(static_cast<SdrGrafObj*>(pRet)->GetGraphic());
             aGraphic.setOriginURL(aLinkFileName);
         }
diff --git a/fpicker/source/office/autocmpledit.cxx b/fpicker/source/office/autocmpledit.cxx
index 89f6d87b014b..e0166a33691e 100644
--- a/fpicker/source/office/autocmpledit.cxx
+++ b/fpicker/source/office/autocmpledit.cxx
@@ -60,7 +60,7 @@ IMPL_LINK_NOARG(AutocompleteEdit, TryAutoComplete, Timer *, void)
     }
 }
 
-bool AutocompleteEdit::Match( const OUString& rText )
+bool AutocompleteEdit::Match( std::u16string_view rText )
 {
     bool bRet = false;
 
diff --git a/fpicker/source/office/autocmpledit.hxx b/fpicker/source/office/autocmpledit.hxx
index f29f4bb742b4..03ea58c48084 100644
--- a/fpicker/source/office/autocmpledit.hxx
+++ b/fpicker/source/office/autocmpledit.hxx
@@ -27,7 +27,7 @@ private:
     DECL_LINK(ChangedHdl, weld::Entry&, void);
     DECL_LINK(TryAutoComplete, Timer*, void);
 
-    bool Match(const OUString& rText);
+    bool Match(std::u16string_view rText);
 
 public:
     AutocompleteEdit(std::unique_ptr<weld::Entry> xEntry);
diff --git a/fpicker/source/office/fileview.cxx b/fpicker/source/office/fileview.cxx
index 32b0df044673..ad82be6c0463 100644
--- a/fpicker/source/office/fileview.cxx
+++ b/fpicker/source/office/fileview.cxx
@@ -315,7 +315,7 @@ public:
 
     void                    Resort_Impl( sal_Int16 nColumn, bool bAscending );
     bool                    SearchNextEntry( sal_uInt32 &nIndex,
-                                             const OUString& rTitle,
+                                             std::u16string_view rTitle,
                                              bool bWrapAround );
 
     void                    SetSelectHandler( const Link<SvtFileView*,void>& rHdl );
@@ -1756,7 +1756,7 @@ void SvtFileView_Impl::SetViewMode( FileViewMode eMode )
     };
 }
 
-bool SvtFileView_Impl::SearchNextEntry( sal_uInt32& nIndex, const OUString& rTitle, bool bWrapAround )
+bool SvtFileView_Impl::SearchNextEntry( sal_uInt32& nIndex, std::u16string_view rTitle, bool bWrapAround )
 {
     ::osl::MutexGuard aGuard( maMutex );
 
diff --git a/framework/inc/addonmenu.hxx b/framework/inc/addonmenu.hxx
index 1f6443b48a79..461f81af2fc6 100644
--- a/framework/inc/addonmenu.hxx
+++ b/framework/inc/addonmenu.hxx
@@ -41,7 +41,7 @@ class AddonMenuManager
         static bool       HasAddonMenuElements();
 
         // Check if the context string matches the provided xModel context
-        static bool IsCorrectContext(const OUString& rModuleIdentifier, const OUString& rContext);
+        static bool IsCorrectContext(std::u16string_view rModuleIdentifier, const OUString& rContext);
 
         // Create the Add-Ons menu
         static VclPtr<PopupMenu> CreateAddonMenu( const css::uno::Reference< css::frame::XFrame >& rFrame );
diff --git a/framework/inc/uielement/toolbarmerger.hxx b/framework/inc/uielement/toolbarmerger.hxx
index d3ccc1c8cbcb..03b9a1d8325e 100644
--- a/framework/inc/uielement/toolbarmerger.hxx
+++ b/framework/inc/uielement/toolbarmerger.hxx
@@ -59,7 +59,7 @@ struct ReferenceToolbarPathInfo
 class ToolBarMerger
 {
     public:
-        static bool       IsCorrectContext( const OUString& aContext, const OUString& aModuleIdentifier );
+        static bool       IsCorrectContext( const OUString& aContext, std::u16string_view aModuleIdentifier );
 
         static void       ConvertSeqSeqToVector( const css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > >& rSequence,
                                                  AddonToolbarItemContainer& rContainer );
@@ -79,7 +79,7 @@ class ToolBarMerger
                                                  ToolBox::ImplToolItems::size_type nPos,
                                                  sal_uInt16&               rItemId,
                                                  CommandToInfoMap&         rCommandMap,
-                                                 const OUString&           rModuleIdentifier,
+                                                 std::u16string_view       rModuleIdentifier,
                                                  const OUString&           rMergeCommand,
                                                  const OUString&           rMergeCommandParameter,
                                                  const AddonToolbarItemContainer& rItems );
@@ -87,7 +87,7 @@ class ToolBarMerger
         static bool       ProcessMergeFallback( ToolBox*                         pToolbar,
                                                 sal_uInt16&                      rItemId,
                                                 CommandToInfoMap&                rCommandMap,
-                                                const OUString&           rModuleIdentifier,
+                                                std::u16string_view       rModuleIdentifier,
                                                 const OUString&           rMergeCommand,
                                                 const OUString&           rMergeFallback,
                                                 const AddonToolbarItemContainer& rItems );
@@ -97,14 +97,14 @@ class ToolBarMerger
                                       sal_uInt16                nModIndex,
                                       sal_uInt16&               rItemId,
                                       CommandToInfoMap&         rCommandMap,
-                                      const OUString&           rModuleIdentifier,
+                                      std::u16string_view       rModuleIdentifier,
                                       const AddonToolbarItemContainer& rAddonToolbarItems );
 
         static void       ReplaceItem( ToolBox*                  pToolbar,
                                        ToolBox::ImplToolItems::size_type nPos,
                                        sal_uInt16&               rItemId,
                                        CommandToInfoMap&         rCommandMap,
-                                       const OUString&           rModuleIdentifier,
+                                       std::u16string_view       rModuleIdentifier,
                                        const AddonToolbarItemContainer& rAddonToolbarItems );
 
         static void       RemoveItems( ToolBox*           pToolbar,
diff --git a/framework/inc/uifactory/menubarfactory.hxx b/framework/inc/uifactory/menubarfactory.hxx
index cadb67363edd..661b5887760f 100644
--- a/framework/inc/uifactory/menubarfactory.hxx
+++ b/framework/inc/uifactory/menubarfactory.hxx
@@ -62,7 +62,7 @@ typedef ::cppu::WeakImplHelper<
 
             static void CreateUIElement(const OUString& ResourceURL
                         ,const css::uno::Sequence< css::beans::PropertyValue >& Args
-                        ,const OUString& ResourceType
+                        ,std::u16string_view ResourceType
                         ,const css::uno::Reference< css::ui::XUIElement >& _xMenuBar
                         ,const css::uno::Reference< css::uno::XComponentContext >& _rxContext);
 
diff --git a/framework/source/fwe/classes/addonmenu.cxx b/framework/source/fwe/classes/addonmenu.cxx
index 7e3103f17635..c7a52f96747a 100644
--- a/framework/source/fwe/classes/addonmenu.cxx
+++ b/framework/source/fwe/classes/addonmenu.cxx
@@ -281,12 +281,12 @@ void AddonMenuManager::GetMenuEntry( const Sequence< PropertyValue >& rAddonMenu
 }
 
 // Check if the context string matches the provided xModel context
-bool AddonMenuManager::IsCorrectContext( const OUString& rModuleIdentifier, const OUString& rContext )
+bool AddonMenuManager::IsCorrectContext( std::u16string_view rModuleIdentifier, const OUString& rContext )
 {
     if ( rContext.isEmpty() )
         return true;
 
-    if ( !rModuleIdentifier.isEmpty() )
+    if ( !rModuleIdentifier.empty() )
     {
         sal_Int32 nIndex = rContext.indexOf( rModuleIdentifier );
         return ( nIndex >= 0 );
diff --git a/framework/source/uielement/popuptoolbarcontroller.cxx b/framework/source/uielement/popuptoolbarcontroller.cxx
index af07acef9f04..efe2eb82f12c 100644
--- a/framework/source/uielement/popuptoolbarcontroller.cxx
+++ b/framework/source/uielement/popuptoolbarcontroller.cxx
@@ -627,7 +627,7 @@ private:
     void functionExecuted( const OUString &rCommand ) override;
     void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) override;
     void SAL_CALL execute( sal_Int16 KeyModifier ) override;
-    sal_uInt16 getMenuIdForCommand( const OUString &rCommand );
+    sal_uInt16 getMenuIdForCommand( std::u16string_view rCommand );
 
     sal_uInt16 m_nMenuId;
 };
@@ -719,9 +719,9 @@ void NewToolbarController::functionExecuted( const OUString &rCommand )
     updateImage();
 }
 
-sal_uInt16 NewToolbarController::getMenuIdForCommand( const OUString &rCommand )
+sal_uInt16 NewToolbarController::getMenuIdForCommand( std::u16string_view rCommand )
 {
-    if ( m_xPopupMenu.is() && !rCommand.isEmpty() )
+    if ( m_xPopupMenu.is() && !rCommand.empty() )
     {
         Menu* pVclMenu( comphelper::getUnoTunnelImplementation<VCLXMenu>( m_xPopupMenu )->GetMenu() );
         sal_uInt16 nCount = pVclMenu->GetItemCount();
diff --git a/framework/source/uielement/toolbarmerger.cxx b/framework/source/uielement/toolbarmerger.cxx
index ad00c3b9800b..4a56afe933d9 100644
--- a/framework/source/uielement/toolbarmerger.cxx
+++ b/framework/source/uielement/toolbarmerger.cxx
@@ -89,7 +89,7 @@ using namespace ::com::sun::star;
 */
 bool ToolBarMerger::IsCorrectContext(
     const OUString& rContext,
-    const OUString& rModuleIdentifier )
+    std::u16string_view rModuleIdentifier )
 {
     return ( rContext.isEmpty() || ( rContext.indexOf( rModuleIdentifier ) >= 0 ));
 }
@@ -301,7 +301,7 @@ bool ToolBarMerger::ProcessMergeOperation(
     ToolBox::ImplToolItems::size_type      nPos,
     sal_uInt16&                            rItemId,
     CommandToInfoMap&                      rCommandMap,
-    const OUString&                        rModuleIdentifier,
+    std::u16string_view                    rModuleIdentifier,
     const OUString&                        rMergeCommand,
     const OUString&                        rMergeCommandParameter,
     const AddonToolbarItemContainer&       rItems )
@@ -364,7 +364,7 @@ bool ToolBarMerger::ProcessMergeFallback(
     ToolBox*                         pToolbar,
     sal_uInt16&                      rItemId,
     CommandToInfoMap&                rCommandMap,
-    const OUString&           rModuleIdentifier,
+    std::u16string_view       rModuleIdentifier,
     const OUString&           rMergeCommand,
     const OUString&           rMergeFallback,
     const AddonToolbarItemContainer& rItems )
@@ -428,7 +428,7 @@ void ToolBarMerger::MergeItems(
     sal_uInt16                             nModIndex,
     sal_uInt16&                            rItemId,
     CommandToInfoMap&                      rCommandMap,
-    const OUString&                        rModuleIdentifier,
+    std::u16string_view                    rModuleIdentifier,
     const AddonToolbarItemContainer&       rAddonToolbarItems )
 {
     const sal_Int32 nSize( rAddonToolbarItems.size() );
@@ -509,7 +509,7 @@ void ToolBarMerger::ReplaceItem(
     ToolBox::ImplToolItems::size_type      nPos,
     sal_uInt16&                            rItemId,
     CommandToInfoMap&                      rCommandMap,
-    const OUString&                        rModuleIdentifier,
+    std::u16string_view                    rModuleIdentifier,
     const AddonToolbarItemContainer&       rAddonToolbarItems )
 {
     pToolbar->RemoveItem( nPos );
diff --git a/framework/source/uifactory/menubarfactory.cxx b/framework/source/uifactory/menubarfactory.cxx
index 2899b64285cc..5c6e60425400 100644
--- a/framework/source/uifactory/menubarfactory.cxx
+++ b/framework/source/uifactory/menubarfactory.cxx
@@ -57,13 +57,13 @@ Reference< XUIElement > SAL_CALL MenuBarFactory::createUIElement(
 {
     Reference< css::ui::XUIElement > xMenuBar(
             static_cast<OWeakObject *>(new MenuBarWrapper(m_xContext)), UNO_QUERY);
-    CreateUIElement(ResourceURL, Args, "private:resource/menubar/", xMenuBar, m_xContext);
+    CreateUIElement(ResourceURL, Args, u"private:resource/menubar/", xMenuBar, m_xContext);
     return xMenuBar;
 }
 
 void MenuBarFactory::CreateUIElement(const OUString& ResourceURL
                                      ,const Sequence< PropertyValue >& Args
-                                     ,const OUString& ResourceType
+                                     ,std::u16string_view ResourceType
                                      ,const Reference< css::ui::XUIElement >& _xMenuBar
                                      ,const css::uno::Reference< css::uno::XComponentContext >& _rxContext)
 {
diff --git a/framework/source/uifactory/statusbarfactory.cxx b/framework/source/uifactory/statusbarfactory.cxx
index 6791db896f80..0c59adea073b 100644
--- a/framework/source/uifactory/statusbarfactory.cxx
+++ b/framework/source/uifactory/statusbarfactory.cxx
@@ -68,7 +68,7 @@ Reference< XUIElement > SAL_CALL StatusBarFactory::createUIElement(
 {
     Reference< css::ui::XUIElement > xStatusBar(
             static_cast<OWeakObject *>(new StatusBarWrapper(m_xContext)), UNO_QUERY);
-    MenuBarFactory::CreateUIElement(ResourceURL, Args, "private:resource/statusbar/", xStatusBar, m_xContext);
+    MenuBarFactory::CreateUIElement(ResourceURL, Args, u"private:resource/statusbar/", xStatusBar, m_xContext);
     return xStatusBar;
 }
 
diff --git a/framework/source/uifactory/toolbarfactory.cxx b/framework/source/uifactory/toolbarfactory.cxx
index f797ab2e6916..8af020cde45b 100644
--- a/framework/source/uifactory/toolbarfactory.cxx
+++ b/framework/source/uifactory/toolbarfactory.cxx
@@ -68,7 +68,7 @@ Reference< XUIElement > SAL_CALL ToolBarFactory::createUIElement(
 {
     Reference< css::ui::XUIElement > xToolBar(
            static_cast<OWeakObject *>(new ToolBarWrapper(m_xContext)), UNO_QUERY);
-    CreateUIElement(ResourceURL, Args, "private:resource/toolbar/", xToolBar, m_xContext);
+    CreateUIElement(ResourceURL, Args, u"private:resource/toolbar/", xToolBar, m_xContext);
     return xToolBar;
 }
 
diff --git a/i18nutil/source/utility/scripttypedetector.cxx b/i18nutil/source/utility/scripttypedetector.cxx
index dda64dbce071..a2796e42a562 100644
--- a/i18nutil/source/utility/scripttypedetector.cxx
+++ b/i18nutil/source/utility/scripttypedetector.cxx
@@ -47,7 +47,7 @@ const sal_Int16 scriptDirection[] = {
     ScriptDirection::NEUTRAL,           // DirectionProperty_BOUNDARY_NEUTRAL = 18,
 };
 
-sal_Int16 ScriptTypeDetector::getScriptDirection( const OUString& Text, sal_Int32 nPos, sal_Int16 defaultScriptDirection )
+sal_Int16 ScriptTypeDetector::getScriptDirection( std::u16string_view Text, sal_Int32 nPos, sal_Int16 defaultScriptDirection )
 {
     sal_Int16 dir = scriptDirection[unicode::getUnicodeDirection(Text[nPos])];
     return (dir == ScriptDirection::NEUTRAL) ? defaultScriptDirection : dir;
@@ -81,7 +81,7 @@ sal_Int32 ScriptTypeDetector::endOfScriptDirection( const OUString& Text, sal_In
         return cPos == nPos ? -1 : cPos;
 }
 
-sal_Int16 ScriptTypeDetector::getCTLScriptType( const OUString& Text, sal_Int32 nPos )
+sal_Int16 ScriptTypeDetector::getCTLScriptType( std::u16string_view Text, sal_Int32 nPos )
 {
     static const ScriptTypeList typeList[] = {
         { UnicodeScript_kHebrew,      UnicodeScript_kHebrew,      CTLScriptType::CTL_HEBREW },    // 10
diff --git a/idl/inc/database.hxx b/idl/inc/database.hxx
index caf3cf9fff4d..3e7706b25b1e 100644
--- a/idl/inc/database.hxx
+++ b/idl/inc/database.hxx
@@ -92,7 +92,7 @@ public:
     // list of used types while writing
     SvRefMemberList<SvMetaType *>    aUsedTypes;
 
-    void                    StartNewFile( const OUString& rName );
+    void                    StartNewFile( std::u16string_view rName );
     void                    SetExportFile( const OUString& rName )
                             { aExportFile = rName; }
     void                    AppendSlot( SvMetaSlot *pSlot );
diff --git a/idl/source/prj/database.cxx b/idl/source/prj/database.cxx
index 7613e0a59c6d..37bf552c76e2 100644
--- a/idl/source/prj/database.cxx
+++ b/idl/source/prj/database.cxx
@@ -483,7 +483,7 @@ bool SvIdlWorkingBase::WriteSfx( SvStream & rOutStm )
     return true;
 }
 
-void SvIdlDataBase::StartNewFile( const OUString& rName )
+void SvIdlDataBase::StartNewFile( std::u16string_view rName )
 {
     bExport = aExportFile.equalsIgnoreAsciiCase( rName );
     assert ( !bExport );
diff --git a/include/basic/basmgr.hxx b/include/basic/basmgr.hxx
index 64e4ac597df7..b439baed85fa 100644
--- a/include/basic/basmgr.hxx
+++ b/include/basic/basmgr.hxx
@@ -147,8 +147,8 @@ public:
 
     sal_uInt16      GetLibCount() const;
     StarBASIC*      GetLib( sal_uInt16 nLib ) const;
-    StarBASIC*      GetLib( const OUString& rName ) const;
-    sal_uInt16      GetLibId( const OUString& rName ) const;
+    StarBASIC*      GetLib( std::u16string_view rName ) const;
+    sal_uInt16      GetLibId( std::u16string_view rName ) const;
 
     OUString        GetLibName( sal_uInt16 nLib );
 
@@ -188,7 +188,7 @@ public:
             takes the names of modules whose size exceeds the legacy limit
     */
     bool            LegacyPsswdBinaryLimitExceeded( std::vector< OUString >& _out_rModuleNames );
-    bool HasExeCode( const OUString& );
+    bool HasExeCode( std::u16string_view );
     /// determines whether the Basic Manager has a given macro, given by fully qualified name
     bool            HasMacro( OUString const& i_fullyQualifiedName ) const;
     /// executes a given macro
@@ -202,7 +202,7 @@ private:
     BASIC_DLLPRIVATE StarBASIC* GetStdLib() const;
     BASIC_DLLPRIVATE StarBASIC* AddLib( SotStorage& rStorage, const OUString& rLibName, bool bReference );
     BASIC_DLLPRIVATE void RemoveLib( sal_uInt16 nLib );
-    BASIC_DLLPRIVATE bool HasLib( const OUString& rName ) const;
+    BASIC_DLLPRIVATE bool HasLib( std::u16string_view rName ) const;
 
     BASIC_DLLPRIVATE StarBASIC* CreateLibForLibContainer( const OUString& rLibName,
                         const css::uno::Reference< css::script::XLibraryContainer >& xScriptCont );
diff --git a/include/basic/codecompletecache.hxx b/include/basic/codecompletecache.hxx
index 37ab4a499a16..2c6c0873fcb0 100644
--- a/include/basic/codecompletecache.hxx
+++ b/include/basic/codecompletecache.hxx
@@ -83,8 +83,8 @@ public:
 
     void InsertGlobalVar( const OUString& sVarName, const OUString& sVarType );
     void InsertLocalVar( const OUString& sProcName, const OUString& sVarName, const OUString& sVarType );
-    OUString GetVarType( const OUString& sVarName ) const;
-    OUString GetCorrectCaseVarName( const OUString& sVarName, const OUString& sActProcName ) const;
+    OUString GetVarType( std::u16string_view sVarName ) const;
+    OUString GetCorrectCaseVarName( std::u16string_view sVarName, std::u16string_view sActProcName ) const;
     void Clear();
 };
 
diff --git a/include/basic/sbstar.hxx b/include/basic/sbstar.hxx
index 7ff6a138123e..bdcf167edd49 100644
--- a/include/basic/sbstar.hxx
+++ b/include/basic/sbstar.hxx
@@ -107,7 +107,7 @@ public:
 
     SbModules&      GetModules() { return pModules; }
     SbxObject*      GetRtl()     { return pRtl.get();     }
-    SbModule*       FindModule( const OUString& );
+    SbModule*       FindModule( std::u16string_view );
     // Run init code of all modules (including the inserted Doc-Basics)
     void            InitAllModules( StarBASIC const * pBasicNotToInit = nullptr );
     void            DeInitAllModules();
diff --git a/include/i18nutil/scripttypedetector.hxx b/include/i18nutil/scripttypedetector.hxx
index 8be9866abeec..fd098f9e7f32 100644
--- a/include/i18nutil/scripttypedetector.hxx
+++ b/include/i18nutil/scripttypedetector.hxx
@@ -27,10 +27,10 @@ class I18NUTIL_DLLPUBLIC ScriptTypeDetector
 public:
     static sal_Int32 beginOfScriptDirection( const OUString& Text, sal_Int32 nPos, sal_Int16 scriptDirection );
     static sal_Int32 endOfScriptDirection( const OUString& Text, sal_Int32 nPos, sal_Int16 scriptDirection );
-    static sal_Int16 getScriptDirection( const OUString& Text, sal_Int32 nPos, sal_Int16 defaultScriptDirection );
+    static sal_Int16 getScriptDirection( std::u16string_view Text, sal_Int32 nPos, sal_Int16 defaultScriptDirection );
     static sal_Int32 beginOfCTLScriptType( const OUString& Text, sal_Int32 nPos );
     static sal_Int32 endOfCTLScriptType( const OUString& Text, sal_Int32 nPos );
-    static sal_Int16 getCTLScriptType( const OUString& Text, sal_Int32 nPos );
+    static sal_Int16 getCTLScriptType(std::u16string_view Text, sal_Int32 nPos );
 };
 
 #endif
diff --git a/include/oox/core/contexthandler.hxx b/include/oox/core/contexthandler.hxx
index 5d72e2192cc2..0d06e548ee32 100644
--- a/include/oox/core/contexthandler.hxx
+++ b/include/oox/core/contexthandler.hxx
@@ -71,7 +71,7 @@ public:
     /** Returns the full fragment path for the passed relation identifier. */
     OUString     getFragmentPathFromRelId( const OUString& rRelId ) const;
     /** Returns the full fragment path for the first relation of the passed type. */
-    OUString     getFragmentPathFromFirstType( const OUString& rType ) const;
+    OUString     getFragmentPathFromFirstType( std::u16string_view rType ) const;
     OUString     getFragmentPathFromFirstTypeFromOfficeDoc( const OUString& rType ) const;
 
     // com.sun.star.xml.sax.XFastContextHandler interface ---------------------
diff --git a/include/oox/core/relations.hxx b/include/oox/core/relations.hxx
index f36ceaba6d0b..23d6a9320243 100644
--- a/include/oox/core/relations.hxx
+++ b/include/oox/core/relations.hxx
@@ -33,7 +33,7 @@ namespace oox::core {
 /** Expands to an OUString containing an 'officeDocument' transitional relation type created
     from the passed literal(!) ASCII(!) character array. */
 #define CREATE_OFFICEDOC_RELATION_TYPE( ascii ) \
-    ( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/" ascii )
+    ( u"http://schemas.openxmlformats.org/officeDocument/2006/relationships/" ascii )
 
 /** Expands to an OUString containing an 'officeDocument' strict relation type created
     from the passed literal(!) ASCII(!) character array. */
@@ -43,7 +43,7 @@ namespace oox::core {
 /** Expands to an OUString containing an MS Office specific relation type
     created from the passed literal(!) ASCII(!) character array. */
 #define CREATE_MSOFFICE_RELATION_TYPE( ascii ) \
-    ( "http://schemas.microsoft.com/office/2006/relationships/" ascii )
+    ( u"http://schemas.microsoft.com/office/2006/relationships/" ascii )
 
 #define CREATE_XL_CONTENT_TYPE( ascii ) \
     ( "application/vnd.openxmlformats-officedocument.spreadsheetml." ascii "+xml" )
@@ -89,7 +89,7 @@ public:
     /** Returns the relation with the passed relation identifier. */
     const Relation*     getRelationFromRelId( const OUString& rId ) const;
     /** Returns the first relation with the passed type. */
-    const Relation*     getRelationFromFirstType( const OUString& rType ) const;
+    const Relation*     getRelationFromFirstType( std::u16string_view rType ) const;
     /** Finds all relations associated with the passed type. */
     RelationsRef        getRelationsFromTypeFromOfficeDoc( const OUString& rType ) const;
 
@@ -103,7 +103,7 @@ public:
     /** Returns the full fragment path for the passed relation identifier. */
     OUString     getFragmentPathFromRelId( const OUString& rRelId ) const;
     /** Returns the full fragment path for the first relation of the passed type. */
-    OUString     getFragmentPathFromFirstType( const OUString& rType ) const;
+    OUString     getFragmentPathFromFirstType( std::u16string_view rType ) const;
     OUString     getFragmentPathFromFirstTypeFromOfficeDoc( const OUString& rType ) const;
 
 private:
diff --git a/include/sfx2/frmdescr.hxx b/include/sfx2/frmdescr.hxx
index 196a2ccc9356..50df431b4c24 100644
--- a/include/sfx2/frmdescr.hxx
+++ b/include/sfx2/frmdescr.hxx
@@ -66,7 +66,7 @@ public:
     const INetURLObject&    GetURL() const
                             { return aURL; }
     void                    SetURL( const OUString& rURL );
-    void                    SetActualURL( const OUString& rURL );
+    void                    SetActualURL( std::u16string_view rURL );
 
                             // FrameName
     const OUString&         GetName() const
diff --git a/include/sfx2/sfxhelp.hxx b/include/sfx2/sfxhelp.hxx
index 06cd21c6eec3..7f4d687b102d 100644
--- a/include/sfx2/sfxhelp.hxx
+++ b/include/sfx2/sfxhelp.hxx
@@ -51,7 +51,7 @@ public:
     // Check for built-in help
     static bool             IsHelpInstalled();
 
-    static OUString GetURLHelpText(const OUString&);
+    static OUString GetURLHelpText(std::u16string_view);
 };
 
 #endif // INCLUDED_SFX2_SFXHELP_HXX
diff --git a/include/sfx2/templatelocalview.hxx b/include/sfx2/templatelocalview.hxx
index e87d37e9aef5..1ed2ee1a4e61 100644
--- a/include/sfx2/templatelocalview.hxx
+++ b/include/sfx2/templatelocalview.hxx
@@ -148,7 +148,7 @@ public:
 
     void updateThumbnailDimensions(tools::Long itemMaxSize);
 
-    void RemoveDefaultTemplateIcon( const OUString& rPath);
+    void RemoveDefaultTemplateIcon( std::u16string_view rPath);
 
     static BitmapEx scaleImg (const BitmapEx &rImg, tools::Long width, tools::Long height);
 
diff --git a/include/svx/ActionDescriptionProvider.hxx b/include/svx/ActionDescriptionProvider.hxx
index 204c4f6e9e0d..4aa889eb1f38 100644
--- a/include/svx/ActionDescriptionProvider.hxx
+++ b/include/svx/ActionDescriptionProvider.hxx
@@ -47,7 +47,7 @@ public:
 
 public:
     static OUString createDescription( ActionType eActionType
-                        , const OUString& rObjectName );
+                        , std::u16string_view rObjectName );
 };
 
 #endif
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 21ab9b3a2fb5..5fd2b3ff1946 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -163,7 +163,7 @@ private:
     void                    ForceSwapIn() const;
 
 public:
-    void                    SetGraphicLink(const OUString& rFileName, const OUString& rReferer, const OUString& rFilterName);
+    void                    SetGraphicLink(const OUString& rFileName, std::u16string_view rReferer, std::u16string_view rFilterName);
     void                    ReleaseGraphicLink();
     bool IsLinkedGraphic() const;
 
diff --git a/include/test/sheet/xspreadsheets2.hxx b/include/test/sheet/xspreadsheets2.hxx
index 6c2cd0952b28..e96367d9472f 100644
--- a/include/test/sheet/xspreadsheets2.hxx
+++ b/include/test/sheet/xspreadsheets2.hxx
@@ -50,7 +50,7 @@ private:
     css::uno::Reference< css::sheet::XSpreadsheetDocument> getDoc(const OUString&);
     static css::uno::Reference< css::sheet::XNamedRanges> getNamedRanges(css::uno::Reference< css::sheet::XSpreadsheetDocument > const &);
     void importSheetToCopy();
-    static bool isExternalReference(const OUString& aDestContent, const OUString& aSrcContent );
+    static bool isExternalReference(const OUString& aDestContent, std::u16string_view aSrcContent );
 
     css::uno::Reference< css::sheet::XSpreadsheetDocument> xDestDoc;
     css::uno::Reference< css::sheet::XSpreadsheet > xDestSheet;
diff --git a/include/unotools/localedatawrapper.hxx b/include/unotools/localedatawrapper.hxx
index 7f393d9343f3..b4e93749142d 100644
--- a/include/unotools/localedatawrapper.hxx
+++ b/include/unotools/localedatawrapper.hxx
@@ -194,7 +194,7 @@ public:
 
     /** If the secondary calendar, if any, is of the name passed AND number
         formats using it usually use the E or EE keyword (EC|EEC). */
-    bool doesSecondaryCalendarUseEC( const OUString& rName ) const;
+    bool doesSecondaryCalendarUseEC( std::u16string_view rName ) const;
 
     /** Obtain digit grouping. The usually known grouping by thousands (#,###)
         is actually only one of possible groupings. Another one, for example,
diff --git a/include/unotools/textsearch.hxx b/include/unotools/textsearch.hxx
index 45db38b2981f..849f4c8c91f5 100644
--- a/include/unotools/textsearch.hxx
+++ b/include/unotools/textsearch.hxx
@@ -208,7 +208,7 @@ public:
                     const css::lang::Locale& rLocale );
 
     /* replace back references in the replace string by the sub expressions from the search result */
-    void ReplaceBackReferences( OUString& rReplaceStr, const OUString &rStr, const css::util::SearchResult& rResult ) const;
+    void ReplaceBackReferences( OUString& rReplaceStr, std::u16string_view rStr, const css::util::SearchResult& rResult ) const;
 
     /** Upgrade SearchOptions to SearchOptions2 for places that don't handle
         SearchOptions2 yet. Better fix your module if you want to support
diff --git a/include/vbahelper/vbahelper.hxx b/include/vbahelper/vbahelper.hxx
index 7333dd375e1e..60d8f0b85de4 100644
--- a/include/vbahelper/vbahelper.hxx
+++ b/include/vbahelper/vbahelper.hxx
@@ -69,7 +69,7 @@ namespace ooo::vba
 
         /** Returns the VBA document implementation object representing the passed UNO document model. */
         VBAHELPER_DLLPUBLIC css::uno::Reference< XHelperInterface > getVBADocument( const css::uno::Reference< css::frame::XModel >& xModel );
-        VBAHELPER_DLLPUBLIC css::uno::Reference< XHelperInterface > getUnoDocModule( const OUString& aModName, SfxObjectShell const * pShell );
+        VBAHELPER_DLLPUBLIC css::uno::Reference< XHelperInterface > getUnoDocModule( std::u16string_view aModName, SfxObjectShell const * pShell );
         /// @throws css::uno::RuntimeException
         VBAHELPER_DLLPUBLIC SfxObjectShell* getSfxObjShell( const css::uno::Reference< css::frame::XModel >& xModel );
 
@@ -259,10 +259,10 @@ class VBAHELPER_DLLPUBLIC DebugHelper
 {
 public:
     /// @throws css::script::BasicErrorException
-    static void basicexception( const css::uno::Exception& ex, ErrCode err, const OUString& /*additionalArgument*/ );
+    static void basicexception( const css::uno::Exception& ex, ErrCode err, std::u16string_view /*additionalArgument*/ );
 
     /// @throws css::script::BasicErrorException
-    static void basicexception( ErrCode err,  const OUString& additionalArgument );
+    static void basicexception( ErrCode err, std::u16string_view additionalArgument );
 
     /// @throws css::script::BasicErrorException
     static void basicexception( const css::uno::Exception& ex );
diff --git a/include/vcl/GraphicNativeTransform.hxx b/include/vcl/GraphicNativeTransform.hxx
index 3b05ac323232..3b5071e1639c 100644
--- a/include/vcl/GraphicNativeTransform.hxx
+++ b/include/vcl/GraphicNativeTransform.hxx
@@ -32,7 +32,7 @@ class VCL_DLLPUBLIC GraphicNativeTransform final
 
     bool rotateBitmapOnly(Degree10 aRotation);
     void rotateJPEG(Degree10 aRotation);
-    bool rotateGeneric(Degree10 aRotation, const OUString& aType);
+    bool rotateGeneric(Degree10 aRotation, std::u16string_view aType);
 
 public:
     GraphicNativeTransform(Graphic& rGraphic);
diff --git a/include/vcl/GraphicObject.hxx b/include/vcl/GraphicObject.hxx
index e4c1edc817d6..c302387995ff 100644
--- a/include/vcl/GraphicObject.hxx
+++ b/include/vcl/GraphicObject.hxx
@@ -167,7 +167,7 @@ public:
 
     const Graphic&          GetGraphic() const;
     void                    SetGraphic( const Graphic& rGraphic, const GraphicObject* pCopyObj = nullptr);
-    void                    SetGraphic( const Graphic& rGraphic, const OUString& rLink );
+    void                    SetGraphic( const Graphic& rGraphic, std::u16string_view rLink );
 
     /** Get graphic transformed according to given attributes
 
diff --git a/include/vcl/graphicfilter.hxx b/include/vcl/graphicfilter.hxx
index 83db7db95fb8..35728237dc7a 100644
--- a/include/vcl/graphicfilter.hxx
+++ b/include/vcl/graphicfilter.hxx
@@ -86,18 +86,18 @@ namespace o3tl
 #define EXP_PDF                 "SVEPDF"
 #define EXP_PNG                 "SVEPNG"
 
-#define BMP_SHORTNAME           "BMP"
-#define GIF_SHORTNAME           "GIF"
-#define JPG_SHORTNAME           "JPG"
-#define MET_SHORTNAME           "MET"
-#define PCT_SHORTNAME           "PCT"
-#define PNG_SHORTNAME           "PNG"
-#define SVM_SHORTNAME           "SVM"
-#define TIF_SHORTNAME           "TIF"
-#define WMF_SHORTNAME           "WMF"
-#define EMF_SHORTNAME           "EMF"
-#define SVG_SHORTNAME           "SVG"
-#define PDF_SHORTNAME           "PDF"
+#define BMP_SHORTNAME           u"BMP"
+#define GIF_SHORTNAME           u"GIF"
+#define JPG_SHORTNAME           u"JPG"
+#define MET_SHORTNAME           u"MET"
+#define PCT_SHORTNAME           u"PCT"
+#define PNG_SHORTNAME           u"PNG"
+#define SVM_SHORTNAME           u"SVM"
+#define TIF_SHORTNAME           u"TIF"
+#define WMF_SHORTNAME           u"WMF"
+#define EMF_SHORTNAME           u"EMF"
+#define SVG_SHORTNAME           u"SVG"
+#define PDF_SHORTNAME           u"PDF"
 
 //  Info class for all supported file formats
 
@@ -241,9 +241,9 @@ public:
                     ~GraphicFilter();
 
     sal_uInt16      GetImportFormatCount() const;
-    sal_uInt16      GetImportFormatNumber( const OUString& rFormatName );
-    sal_uInt16      GetImportFormatNumberForShortName( const OUString& rShortName );
-    sal_uInt16      GetImportFormatNumberForTypeName( const OUString& rType );
+    sal_uInt16      GetImportFormatNumber( std::u16string_view rFormatName );
+    sal_uInt16      GetImportFormatNumberForShortName( std::u16string_view rShortName );
+    sal_uInt16      GetImportFormatNumberForTypeName( std::u16string_view rType );
     OUString        GetImportFormatName( sal_uInt16 nFormat );
     OUString        GetImportFormatTypeName( sal_uInt16 nFormat );
 #ifdef _WIN32
@@ -253,11 +253,11 @@ public:
     OUString        GetImportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry );
 
     sal_uInt16      GetExportFormatCount() const;
-    sal_uInt16      GetExportFormatNumber( const OUString& rFormatName );
-    sal_uInt16      GetExportFormatNumberForMediaType( const OUString& rShortName );
-    sal_uInt16      GetExportFormatNumberForShortName( const OUString& rShortName );
+    sal_uInt16      GetExportFormatNumber( std::u16string_view rFormatName );
+    sal_uInt16      GetExportFormatNumberForMediaType( std::u16string_view rShortName );
+    sal_uInt16      GetExportFormatNumberForShortName( std::u16string_view rShortName );
     OUString        GetExportInternalFilterName( sal_uInt16 nFormat );
-    sal_uInt16      GetExportFormatNumberForTypeName( const OUString& rType );
+    sal_uInt16      GetExportFormatNumberForTypeName( std::u16string_view rType );
     OUString        GetExportFormatName( sal_uInt16 nFormat );
     OUString        GetExportFormatMediaType( sal_uInt16 nFormat );
     OUString        GetExportFormatShortName( sal_uInt16 nFormat );
diff --git a/include/xmloff/formlayerimport.hxx b/include/xmloff/formlayerimport.hxx
index 8d10604f4ff5..984e0081e111 100644
--- a/include/xmloff/formlayerimport.hxx
+++ b/include/xmloff/formlayerimport.hxx
@@ -66,9 +66,7 @@ namespace xmloff
         /** creates an import context for the office:forms element
         */
         static SvXMLImportContext* createOfficeFormsContext(
-            SvXMLImport& _rImport,
-            sal_uInt16 _nPrefix,
-            const OUString& _rLocalName);
+            SvXMLImport& _rImport);
 
         /** create an SvXMLImportContext instance which is able to import the <form:form>
             element.
diff --git a/oox/source/core/contexthandler.cxx b/oox/source/core/contexthandler.cxx
index 6eef9029a7d2..ff55f8b07bc7 100644
--- a/oox/source/core/contexthandler.cxx
+++ b/oox/source/core/contexthandler.cxx
@@ -66,7 +66,7 @@ OUString ContextHandler::getFragmentPathFromRelId( const OUString& rRelId ) cons
     return mxBaseData->mxRelations->getFragmentPathFromRelId( rRelId );
 }
 
-OUString ContextHandler::getFragmentPathFromFirstType( const OUString& rType ) const
+OUString ContextHandler::getFragmentPathFromFirstType( std::u16string_view rType ) const
 {
     return mxBaseData->mxRelations->getFragmentPathFromFirstType( rType );
 }
diff --git a/oox/source/core/relations.cxx b/oox/source/core/relations.cxx
index cd2570052eb6..bedfc125b675 100644
--- a/oox/source/core/relations.cxx
+++ b/oox/source/core/relations.cxx
@@ -62,7 +62,7 @@ const Relation* Relations::getRelationFromRelId( const OUString& rId ) const
     return (aIt == maMap.end()) ? nullptr : &aIt->second;
 }
 
-const Relation* Relations::getRelationFromFirstType( const OUString& rType ) const
+const Relation* Relations::getRelationFromFirstType( std::u16string_view rType ) const
 {
     for (auto const& elem : maMap)
         if( elem.second.maType.equalsIgnoreAsciiCase( rType ) )
@@ -131,7 +131,7 @@ OUString Relations::getFragmentPathFromRelId( const OUString& rRelId ) const
     return pRelation ? getFragmentPathFromRelation( *pRelation ) : OUString();
 }
 
-OUString Relations::getFragmentPathFromFirstType( const OUString& rType ) const
+OUString Relations::getFragmentPathFromFirstType( std::u16string_view rType ) const
 {
     const Relation* pRelation = getRelationFromFirstType( rType );
     return pRelation ? getFragmentPathFromRelation( *pRelation ) : OUString();
diff --git a/reportdesign/source/ui/inc/GeometryHandler.hxx b/reportdesign/source/ui/inc/GeometryHandler.hxx
index 5c9e103c2903..bd6b6e24c861 100644
--- a/reportdesign/source/ui/inc/GeometryHandler.hxx
+++ b/reportdesign/source/ui/inc/GeometryHandler.hxx
@@ -119,7 +119,7 @@ namespace rptui
         * \param _sDataField the data field
         * \param _aFunction the function template
         */
-        void impl_createFunction(const OUString& _sFunctionName,const OUString& _sDataField,const DefaultFunction& _aFunction);
+        void impl_createFunction(const OUString& _sFunctionName,std::u16string_view _sDataField,const DefaultFunction& _aFunction);
 
         /** check whether the given function name is a counter function.
         *
diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx
index 606d9af18bd5..d035084a3baf 100644
--- a/reportdesign/source/ui/inspection/GeometryHandler.cxx
+++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx
@@ -2081,7 +2081,7 @@ bool GeometryHandler::impl_isCounterFunction_throw(const OUString& _sQuotedFunct
     return aFind.first != aFind.second;
 }
 
-void GeometryHandler::impl_createFunction(const OUString& _sFunctionName,const OUString& _sDataField,const DefaultFunction& _aFunction)
+void GeometryHandler::impl_createFunction(const OUString& _sFunctionName,std::u16string_view _sDataField,const DefaultFunction& _aFunction)
 {
     if ( m_bNewFunction )
         removeFunction();
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 7a2279ee16e0..6d8fc8cf0357 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -175,7 +175,7 @@ public:
      */
     bool                IsDataDescriptionCell(const ScAddress& rPos);
 
-    bool                IsDimNameInUse(const OUString& rName) const;
+    bool                IsDimNameInUse(std::u16string_view rName) const;
     OUString GetDimName( tools::Long nDim, bool& rIsDataLayout, sal_Int32* pFlags = nullptr );
     bool                IsDuplicated( tools::Long nDim );
     tools::Long                GetDimCount();
diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index e4560fd6c359..3574a0aab0ed 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -697,7 +697,7 @@ public:
         in the result string.
      */
     SC_DLLPUBLIC static OUString    ReplaceOrAppend( const OUString& rString,
-                                                     const OUString& rPlaceholder,
+                                                     std::u16string_view rPlaceholder,
                                                      const OUString& rReplacement );
 
 
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index 29f0814006d5..74a99790422a 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -1169,7 +1169,7 @@ void ScDPObject::GetDrillDownData(const ScAddress& rPos, Sequence< Sequence<Any>
     rTableData = xDrillDownData->getDrillDownData(filters);
 }
 
-bool ScDPObject::IsDimNameInUse(const OUString& rName) const
+bool ScDPObject::IsDimNameInUse(std::u16string_view rName) const
 {
     if (!xSource.is())
         return false;
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index b53afafb6324..221e1d31eb50 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -1068,7 +1068,7 @@ ScFieldEditEngine& ScGlobal::GetStaticFieldEditEngine()
 }
 
 OUString ScGlobal::ReplaceOrAppend( const OUString& rString,
-        const OUString& rPlaceholder, const OUString& rReplacement )
+        std::u16string_view rPlaceholder, const OUString& rReplacement )
 {
     if (rString.isEmpty())
         return rReplacement;
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index 2692406d9a2d..028ad89241d6 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -210,7 +210,7 @@ void XclExpSstImpl::SaveXml( XclExpXmlStream& rStrm )
             "sharedStrings.xml",
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
-            OUStringToOString(oox::getRelationship(Relationship::SHAREDSTRINGS), RTL_TEXTENCODING_UTF8).getStr());
+            oox::getRelationship(Relationship::SHAREDSTRINGS));
     rStrm.PushStream( pSst );
 
     pSst->startElement( XML_sst,
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index c104a97206b1..daf2a2777b23 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -1254,7 +1254,7 @@ OUString XclExpTbxControlObj::SaveControlPropertiesXml(XclExpXmlStream& rStrm) c
                     XclXmlUtils::GetStreamName( "../", "ctrlProps/ctrlProps", nDrawing ),
                     rStrm.GetCurrentStream()->getOutputStream(),
                     "application/vnd.ms-excel.controlproperties+xml",
-                    OUStringToOString(oox::getRelationship(Relationship::CTRLPROP), RTL_TEXTENCODING_UTF8).getStr(),
+                    oox::getRelationship(Relationship::CTRLPROP),
                     &sIdFormControlPr );
 
             rStrm.PushStream( pFormControl );
@@ -1714,7 +1714,7 @@ void XclExpComments::SaveXml( XclExpXmlStream& rStrm )
             XclXmlUtils::GetStreamName( "../", "comments", mnTab + 1 ),
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",
-            OUStringToOString(oox::getRelationship(Relationship::COMMENTS), RTL_TEXTENCODING_UTF8).getStr());
+            oox::getRelationship(Relationship::COMMENTS));
     rStrm.PushStream( rComments );
 
     if( rStrm.getVersion() == oox::core::ISOIEC_29500_2008 )
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 476c8a0bdf8d..a43c612e3e23 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -941,14 +941,14 @@ sax_fastparser::FSHelperPtr XclExpXmlStream::CreateOutputStream (
     const OUString& sRelativeStream,
     const uno::Reference< XOutputStream >& xParentRelation,
     const char* sContentType,
-    const char* sRelationshipType,
+    std::u16string_view sRelationshipType,
     OUString* pRelationshipId )
 {
     OUString sRelationshipId;
     if (xParentRelation.is())
-        sRelationshipId = addRelation( xParentRelation, OUString::createFromAscii( sRelationshipType), sRelativeStream );
+        sRelationshipId = addRelation( xParentRelation, sRelationshipType, sRelativeStream );
     else
-        sRelationshipId = addRelation( OUString::createFromAscii( sRelationshipType ), sRelativeStream );
+        sRelationshipId = addRelation( sRelationshipType, sRelativeStream );
 
     if( pRelationshipId )
         *pRelationshipId = sRelationshipId;
@@ -1074,7 +1074,7 @@ bool XclExpXmlStream::exportDocument()
     PushStream( CreateOutputStream( workbook, workbook,
                                     uno::Reference <XOutputStream>(),
                                     pWorkbookContentType,
-                                    OUStringToOString(oox::getRelationship(Relationship::OFFICEDOCUMENT), RTL_TEXTENCODING_UTF8).getStr() ) );
+                                    oox::getRelationship(Relationship::OFFICEDOCUMENT) ) );
 
     if (mbExportVBA)
     {
diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index dbf13483903a..48bc5df23dc9 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -3190,7 +3190,7 @@ void XclExpXmlStyleSheet::SaveXml( XclExpXmlStream& rStrm )
             "styles.xml",
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
-            OUStringToOString(oox::getRelationship(Relationship::STYLES), RTL_TEXTENCODING_UTF8).getStr());
+            oox::getRelationship(Relationship::STYLES));
     rStrm.PushStream( aStyleSheet );
 
     aStyleSheet->startElement(XML_styleSheet, XML_xmlns, rStrm.getNamespaceURL(OOX_NS(xls)));
diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx
index a73c71c5630a..bbcdf7740f4f 100644
--- a/sc/source/filter/inc/xestream.hxx
+++ b/sc/source/filter/inc/xestream.hxx
@@ -311,7 +311,7 @@ public:
                                         const OUString& sRelativeStream,
                                         const css::uno::Reference< css::io::XOutputStream >& xParentRelation,
                                         const char* sContentType,
-                                        const char* sRelationshipType,
+                                        std::u16string_view sRelationshipType,
                                         OUString* pRelationshipId = nullptr );
 
     // ignore
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 9cb698af8a74..ce164d24103f 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -604,7 +604,7 @@ void ScEEImport::InsertGraphic( SCCOL nCol, SCROW nRow, SCTAB nTab,
             // SetGraphicLink has to be used after inserting the object,
             // otherwise an empty graphic is swapped in and the contact stuff crashes.
             // See #i37444#.
-            pObj->SetGraphicLink( pI->aURL, ""/*TODO?*/, pI->aFilterName );
+            pObj->SetGraphicLink( pI->aURL, u""/*TODO?*/, pI->aFilterName );
 
             pObj->SetLogicRect( aRect ); // Only after InsertObject!
         }
diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx
index 9a110025d63f..a095a599c58a 100644
--- a/sc/source/filter/xcl97/xcl97rec.cxx
+++ b/sc/source/filter/xcl97/xcl97rec.cxx
@@ -244,7 +244,7 @@ void SaveDrawingMLObjects( XclExpObjList& rList, XclExpXmlStream& rStrm )
             XclXmlUtils::GetStreamName( "../", "drawings/drawing", nDrawing ),
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.drawing+xml",
-            OUStringToOString(oox::getRelationship(Relationship::DRAWING), RTL_TEXTENCODING_UTF8).getStr(),
+            oox::getRelationship(Relationship::DRAWING),
             &sId );
 
     rStrm.GetCurrentStream()->singleElement(XML_drawing, FSNS(XML_r, XML_id), sId.toUtf8());
@@ -330,7 +330,7 @@ void SaveVmlObjects( XclExpObjList& rList, XclExpXmlStream& rStrm, sal_Int32& nV
             XclXmlUtils::GetStreamName( "../", "drawings/vmlDrawing", nDrawing ),
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.vmlDrawing",
-            OUStringToOString(oox::getRelationship(Relationship::VMLDRAWING), RTL_TEXTENCODING_UTF8).getStr(),
+            oox::getRelationship(Relationship::VMLDRAWING),
             &sId );
 
     rStrm.GetCurrentStream()->singleElement(XML_legacyDrawing, FSNS(XML_r, XML_id), sId.toUtf8());
@@ -1383,7 +1383,7 @@ void ExcBundlesheet8::SaveXml( XclExpXmlStream& rStrm )
             XclXmlUtils::GetStreamName( nullptr, "worksheets/sheet", nTab+1),
             rStrm.GetCurrentStream()->getOutputStream(),
             "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",
-            OUStringToOString(oox::getRelationship(Relationship::WORKSHEET), RTL_TEXTENCODING_UTF8).getStr(),
+            oox::getRelationship(Relationship::WORKSHEET),
             &sId );
 
     rStrm.GetCurrentStream()->singleElement( XML_sheet,
diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx
index 535336dc0ce8..55394c370fe8 100644
--- a/sc/source/filter/xml/xmltabi.cxx
+++ b/sc/source/filter/xml/xmltabi.cxx
@@ -229,7 +229,7 @@ SvXMLImportContextRef ScXMLTableContext::CreateChildContext( sal_uInt16 nPrefix,
         {
             GetScImport().GetFormImport()->startPage(GetScImport().GetTables().GetCurrentXDrawPage());
             bStartFormPage = true;
-            pContext = xmloff::OFormLayerXMLImport::createOfficeFormsContext( GetScImport(), nPrefix, rLName );
+            pContext = xmloff::OFormLayerXMLImport::createOfficeFormsContext( GetScImport() );
         }
         break;
     default:
diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
index 8b83ff5eb952..b48af4241a9b 100644
--- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
@@ -170,7 +170,7 @@ void ScAnalysisOfVarianceDialog::RowColumn(ScRangeList& rRangeList, AddressWalke
         for (size_t i = 0; i < rRangeList.size(); i++)
         {
             aTemplate.setTemplate(aLabelTemplate);
-            aTemplate.applyNumber("%NUMBER%", i + 1);
+            aTemplate.applyNumber(u"%NUMBER%", i + 1);
             aOutput.writeString(aTemplate.getTemplate());
             if (pResultRange != nullptr)
                 pResultRange->aEnd = aOutput.current();
@@ -261,20 +261,20 @@ void ScAnalysisOfVarianceDialog::AnovaSingleFactor(AddressWalkerWriter& output,
 
         // F
         aTemplate.setTemplate("=%BETWEEN_MS% / %WITHIN_MS%");
-        aTemplate.applyAddress("%WITHIN_MS%",  output.current(-1, 1));
+        aTemplate.applyAddress(u"%WITHIN_MS%",  output.current(-1, 1));
         aTemplate.autoReplaceAddress("%F_VAL%", output.current());
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
         // P-value
         aTemplate.setTemplate("=FDIST(%F_VAL%; %BETWEEN_DF%; %WITHIN_DF%");
-        aTemplate.applyAddress("%WITHIN_DF%",   output.current(-3, 1));
+        aTemplate.applyAddress(u"%WITHIN_DF%",   output.current(-3, 1));
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
         // F critical
         aTemplate.setTemplate("=FINV(%ALPHA%; %BETWEEN_DF%; %WITHIN_DF%");
-        aTemplate.applyAddress("%WITHIN_DF%",  output.current(-4, 1));
+        aTemplate.applyAddress(u"%WITHIN_DF%",  output.current(-4, 1));
         output.writeFormula(aTemplate.getTemplate());
     }
     output.nextRow();
@@ -315,7 +315,7 @@ void ScAnalysisOfVarianceDialog::AnovaSingleFactor(AddressWalkerWriter& output,
 
         // Sum of Squares
         aTemplate.setTemplate("=DEVSQ(%RANGE_LIST%)");
-        aTemplate.applyRangeList("%RANGE_LIST%", aRangeList, ';');
+        aTemplate.applyRangeList(u"%RANGE_LIST%", aRangeList, ';');
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
@@ -428,20 +428,20 @@ void ScAnalysisOfVarianceDialog::AnovaTwoFactor(AddressWalkerWriter& output, For
 
         // F
         aTemplate.setTemplate("=%MS_ROW% / %MS_ERROR%");
-        aTemplate.applyAddress("%MS_ERROR%", output.current(-1, 2));
+        aTemplate.applyAddress(u"%MS_ERROR%", output.current(-1, 2));
         aTemplate.autoReplaceAddress("%F_ROW%", output.current());
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
         // P-value
         aTemplate.setTemplate("=FDIST(%F_ROW%; %ROW_DF%; %ERROR_DF%");
-        aTemplate.applyAddress("%ERROR_DF%",   output.current(-3, 2));
+        aTemplate.applyAddress(u"%ERROR_DF%",   output.current(-3, 2));
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
         // F critical
         aTemplate.setTemplate("=FINV(%ALPHA%; %ROW_DF%; %ERROR_DF%");
-        aTemplate.applyAddress("%ERROR_DF%",  output.current(-4, 2));
+        aTemplate.applyAddress(u"%ERROR_DF%",  output.current(-4, 2));
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
     }
@@ -474,20 +474,20 @@ void ScAnalysisOfVarianceDialog::AnovaTwoFactor(AddressWalkerWriter& output, For
 
         // F
         aTemplate.setTemplate("=%MS_COLUMN% / %MS_ERROR%");
-        aTemplate.applyAddress("%MS_ERROR%", output.current(-1, 1));
+        aTemplate.applyAddress(u"%MS_ERROR%", output.current(-1, 1));
         aTemplate.autoReplaceAddress("%F_COLUMN%", output.current());
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
          // P-value
         aTemplate.setTemplate("=FDIST(%F_COLUMN%; %COLUMN_DF%; %ERROR_DF%");
-        aTemplate.applyAddress("%ERROR_DF%",   output.current(-3, 1));
+        aTemplate.applyAddress(u"%ERROR_DF%",   output.current(-3, 1));
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
 
         // F critical
         aTemplate.setTemplate("=FINV(%ALPHA%; %COLUMN_DF%; %ERROR_DF%");
-        aTemplate.applyAddress("%ERROR_DF%",  output.current(-4, 1));
+        aTemplate.applyAddress(u"%ERROR_DF%",  output.current(-4, 1));
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
     }
@@ -508,7 +508,7 @@ void ScAnalysisOfVarianceDialog::AnovaTwoFactor(AddressWalkerWriter& output, For
 
         // Degree of freedom
         aTemplate.setTemplate("=%TOTAL_DF% - %ROW_DF% - %COLUMN_DF%");
-        aTemplate.applyAddress("%TOTAL_DF%", output.current(0,1));
+        aTemplate.applyAddress(u"%TOTAL_DF%", output.current(0,1));
         aTemplate.autoReplaceAddress("%ERROR_DF%", output.current());
         output.writeFormula(aTemplate.getTemplate());
         output.nextColumn();
diff --git a/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx b/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx
index 53fe8e2d10cf..f42e9cf12923 100644
--- a/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/DescriptiveStatisticsDialog.cxx
@@ -93,7 +93,7 @@ ScRange ScDescriptiveStatisticsDialog::ApplyOutput(ScDocShell* pDocShell)
         else
             aTemplate.setTemplate(ScResId(STR_ROW_LABEL_TEMPLATE));
 
-        aTemplate.applyNumber("%NUMBER%", pIterator->index() + 1);
+        aTemplate.applyNumber(u"%NUMBER%", pIterator->index() + 1);
         aOutput.writeBoldString(aTemplate.getTemplate());
         aOutput.nextColumn();
     }
@@ -119,7 +119,7 @@ ScRange ScDescriptiveStatisticsDialog::ApplyOutput(ScDocShell* pDocShell)
         for(sal_Int32 i = 0; lclCalcDefinitions[i].aFormula != nullptr; i++)
         {
             aTemplate.setTemplate(lclCalcDefinitions[i].aFormula);
-            aTemplate.applyRange("%RANGE%", pIterator->get(), b3DAddress);
+            aTemplate.applyRange(u"%RANGE%", pIterator->get(), b3DAddress);
             aOutput.writeFormula(aTemplate.getTemplate());
             aOutput.nextRow();
         }
diff --git a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
index 30f63ed0efd6..df3aef026b50 100644
--- a/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx
@@ -79,7 +79,7 @@ ScRange ScExponentialSmoothingDialog::ApplyOutput(ScDocShell* pDocShell)
             aTemplate.setTemplate(ScResId(STR_COLUMN_LABEL_TEMPLATE));
         else
             aTemplate.setTemplate(ScResId(STR_ROW_LABEL_TEMPLATE));
-        aTemplate.applyNumber("%NUMBER%", pIterator->index() + 1);
+        aTemplate.applyNumber(u"%NUMBER%", pIterator->index() + 1);
         output.writeBoldString(aTemplate.getTemplate());
         output.nextRow();
 
@@ -87,13 +87,13 @@ ScRange ScExponentialSmoothingDialog::ApplyOutput(ScDocShell* pDocShell)
         if ((false))
         {
             aTemplate.setTemplate("=AVERAGE(%RANGE%)");
-            aTemplate.applyRange("%RANGE%", aCurrentRange);
+            aTemplate.applyRange(u"%RANGE%", aCurrentRange);
             output.writeFormula(aTemplate.getTemplate());
         }
         else
         {
             aTemplate.setTemplate("=%VAR%");
-            aTemplate.applyAddress("%VAR%", aCurrentRange.aStart);
+            aTemplate.applyAddress(u"%VAR%", aCurrentRange.aStart);
             output.writeFormula(aTemplate.getTemplate());
         }
 
@@ -104,9 +104,9 @@ ScRange ScExponentialSmoothingDialog::ApplyOutput(ScDocShell* pDocShell)
         for (; aDataCellIterator.hasNext(); aDataCellIterator.next())
         {
             aTemplate.setTemplate("=%VALUE% * %PREVIOUS_INPUT% + (1 - %VALUE%) * %PREVIOUS_OUTPUT%");
-            aTemplate.applyAddress("%PREVIOUS_INPUT%",  aDataCellIterator.get());
-            aTemplate.applyAddress("%PREVIOUS_OUTPUT%", output.current(0, -1));
-            aTemplate.applyAddress("%VALUE%",           aSmoothingFactorAddress);
+            aTemplate.applyAddress(u"%PREVIOUS_INPUT%",  aDataCellIterator.get());
+            aTemplate.applyAddress(u"%PREVIOUS_OUTPUT%", output.current(0, -1));
+            aTemplate.applyAddress(u"%VALUE%",           aSmoothingFactorAddress);
 
             output.writeFormula(aTemplate.getTemplate());
             output.nextRow();
diff --git a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
index a68be9b1d95f..bb2bf4a1ed49 100644
--- a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
+++ b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
@@ -28,8 +28,8 @@ namespace
                 if (j >= i)
                 {
                     aTemplate.setTemplate(aTemplateString);
-                    aTemplate.applyRange("%VAR1%", aRangeList[i]);
-                    aTemplate.applyRange("%VAR2%", aRangeList[j]);
+                    aTemplate.applyRange(u"%VAR1%", aRangeList[i]);
+                    aTemplate.applyRange(u"%VAR2%", aRangeList[j]);
                     aOutput.writeFormula(aTemplate.getTemplate());
                 }
                 aOutput.nextRow();
diff --git a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
index f2a7f9020790..813378cab952 100644
--- a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
@@ -70,7 +70,7 @@ ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
         else
             aTemplate.setTemplate(ScResId(STR_ROW_LABEL_TEMPLATE));
 
-        aTemplate.applyNumber("%NUMBER%", pIterator->index() + 1);
+        aTemplate.applyNumber(u"%NUMBER%", pIterator->index() + 1);
         output.writeBoldString(aTemplate.getTemplate());
         output.nextRow();
 
@@ -98,7 +98,7 @@ ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
             if(aIntervalStart.IsValid() && aIntervalEnd.IsValid())
             {
                 aTemplate.setTemplate("=AVERAGE(%RANGE%)");
-                aTemplate.applyRange("%RANGE%", ScRange(aIntervalStart, aIntervalEnd));
+                aTemplate.applyRange(u"%RANGE%", ScRange(aIntervalStart, aIntervalEnd));
                 aFormulas.push_back(aTemplate.getTemplate());
             }
             else
diff --git a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
index 1d2d087bfc7a..3047ba34f46a 100644
--- a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
+++ b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
@@ -60,33 +60,33 @@ void FormulaTemplate::autoReplaceAddress(const OUString& aVariable, ScAddress co
     mAddressReplacementMap[aVariable] = aAddress;
 }
 
-void FormulaTemplate::applyRange(const OUString& aVariable, const ScRange& aRange, bool b3D)
+void FormulaTemplate::applyRange(std::u16string_view aVariable, const ScRange& aRange, bool b3D)
 {
     ScRefFlags nFlag = b3D ? ScRefFlags::RANGE_ABS_3D : ScRefFlags::RANGE_ABS;
     OUString aString = aRange.Format(*mpDoc, nFlag, mpDoc->GetAddressConvention());
     mTemplate = mTemplate.replaceAll(aVariable, aString);
 }
 
-void FormulaTemplate::applyRangeList(const OUString& aVariable, const ScRangeList& aRangeList, sal_Unicode cDelimiter)
+void FormulaTemplate::applyRangeList(std::u16string_view aVariable, const ScRangeList& aRangeList, sal_Unicode cDelimiter)
 {
     OUString aString;
     aRangeList.Format(aString, ScRefFlags::RANGE_ABS_3D, *mpDoc, mpDoc->GetAddressConvention(), cDelimiter);
     mTemplate = mTemplate.replaceAll(aVariable, aString);
 }
 
-void FormulaTemplate::applyAddress(const OUString& aVariable, const ScAddress& aAddress, bool b3D)
+void FormulaTemplate::applyAddress(std::u16string_view aVariable, const ScAddress& aAddress, bool b3D)
 {
     ScRefFlags nFlag = b3D ? ScRefFlags::ADDR_ABS_3D : ScRefFlags::ADDR_ABS;
     OUString aString = aAddress.Format(nFlag, mpDoc, mpDoc->GetAddressConvention());
     mTemplate = mTemplate.replaceAll(aVariable, aString);
 }
 
-void FormulaTemplate::applyString(const OUString& aVariable, const OUString& aValue)
+void FormulaTemplate::applyString(std::u16string_view aVariable, std::u16string_view aValue)
 {
     mTemplate = mTemplate.replaceAll(aVariable, aValue);
 }
 
-void FormulaTemplate::applyNumber(const OUString& aVariable, sal_Int32 aValue)
+void FormulaTemplate::applyNumber(std::u16string_view aVariable, sal_Int32 aValue)
 {
     mTemplate = mTemplate.replaceAll(aVariable, OUString::number(aValue));
 }
diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index 0d439f86c273..13f9fff9381a 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -402,7 +402,7 @@ void ScFilterDlg::FillFieldLists()
             aFieldName = pDoc->GetString(col, nFirstRow, nTab);
             if (!m_xBtnHeader->get_active() || aFieldName.isEmpty())
             {
-                aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, "%1", ScColToAlpha( col ));
+                aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, u"%1", ScColToAlpha( col ));
             }
             m_xLbField1->append_text( aFieldName );
             m_xLbField2->append_text( aFieldName );
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index 2c257ac686d2..750526290c70 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -234,7 +234,7 @@ void ScPivotFilterDlg::FillFieldLists()
         aFieldName = pDoc->GetString(col, nFirstRow, nTab);
         if ( aFieldName.isEmpty() )
         {
-            aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, "%1", ScColToAlpha( col ));
+            aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, u"%1", ScColToAlpha( col ));
         }
         m_xLbField1->append_text(aFieldName);
         m_xLbField2->append_text(aFieldName);
diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 769f92ce277b..f8c2a996bd22 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -344,7 +344,7 @@ void ScTabPageSortFields::FillFieldLists( sal_uInt16 nStartField )
             aFieldName = rDoc.GetString(col, nFirstSortRow, nTab);
             if ( !bHasHeader || aFieldName.isEmpty() )
             {
-                aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, "%1", ScColToAlpha( col ));
+                aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, u"%1", ScColToAlpha( col ));
             }
             nFieldArr.push_back( col );
 
@@ -365,7 +365,7 @@ void ScTabPageSortFields::FillFieldLists( sal_uInt16 nStartField )
             aFieldName = rDoc.GetString(nFirstSortCol, row, nTab);
             if ( !bHasHeader || aFieldName.isEmpty() )
             {
-                aFieldName = ScGlobal::ReplaceOrAppend( aStrRow, "%1", OUString::number( row+1));
+                aFieldName = ScGlobal::ReplaceOrAppend( aStrRow, u"%1", OUString::number( row+1));
             }
             nFieldArr.push_back( row );
 
diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index 953c4cf50ff3..4a8d8d85ddab 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -264,7 +264,7 @@ void ScTpSubTotalGroup::FillListBoxes()
         aFieldName = pDoc->GetString(col, nFirstRow, nTab);
         if ( aFieldName.isEmpty() )
         {
-            aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, "%1", ScColToAlpha( col ));
+            aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, u"%1", ScColToAlpha( col ));
         }
         nFieldArr[i] = col;
         mxLbGroup->insert_text(i+1, aFieldName);
diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index 8713def944f5..2ad53cfde7e8 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -154,7 +154,7 @@ void SearchResultsDlg::FillResults( ScDocument& rDoc, const ScRangeList &rMatche
     OUString aTotal(ScResId(SCSTR_TOTAL, aList.mnCount));
     OUString aSearchResults = aTotal.replaceFirst("%1", OUString::number(aList.mnCount));
     if (aList.mnCount > ListWrapper::mnMaximum)
-        aSearchResults += " " + ScGlobal::ReplaceOrAppend( aSkipped, "%1", OUString::number( ListWrapper::mnMaximum ) );
+        aSearchResults += " " + ScGlobal::ReplaceOrAppend( aSkipped, u"%1", OUString::number( ListWrapper::mnMaximum ) );
     mxSearchResults->set_label(aSearchResults);
 
     mpDoc = &rDoc;
diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx
index d5a28f8a29ad..5ef7f1065853 100644
--- a/sc/source/ui/drawfunc/fuins1.cxx
+++ b/sc/source/ui/drawfunc/fuins1.cxx
@@ -204,7 +204,7 @@ static void lcl_InsertGraphic( const Graphic& rGraphic,
     // otherwise an empty graphic is swapped in and the contact stuff crashes.
     // See #i37444#.
     if (bSuccess && bAsLink)
-        pObj->SetGraphicLink( rFileName, ""/*TODO?*/, rFilterName );
+        pObj->SetGraphicLink( rFileName, u""/*TODO?*/, rFilterName );
 }
 
 static void lcl_InsertMedia( const OUString& rMediaURL, bool bApi,
diff --git a/sc/source/ui/inc/TableFillingAndNavigationTools.hxx b/sc/source/ui/inc/TableFillingAndNavigationTools.hxx
index d24535c54298..c4974bbd1bc6 100644
--- a/sc/source/ui/inc/TableFillingAndNavigationTools.hxx
+++ b/sc/source/ui/inc/TableFillingAndNavigationTools.hxx
@@ -40,11 +40,11 @@ public:
     void      autoReplaceAddress(const OUString& aVariable, ScAddress const & aAddress);
     void      autoReplaceUses3D(bool bUse3D) { mbUse3D = bUse3D; }
 
-    void      applyRange(const OUString& aVariable, const ScRange& aRange, bool b3D = true);
-    void      applyRangeList(const OUString& aVariable, const ScRangeList& aRangeList, sal_Unicode cDelimiter );
-    void      applyAddress(const OUString& aVariable, const ScAddress& aAddress, bool b3D = true);
-    void      applyString(const OUString& aVariable, const OUString& aValue);
-    void      applyNumber(const OUString& aVariable, sal_Int32 aValue);
+    void      applyRange(std::u16string_view aVariable, const ScRange& aRange, bool b3D = true);
+    void      applyRangeList(std::u16string_view aVariable, const ScRangeList& aRangeList, sal_Unicode cDelimiter );
+    void      applyAddress(std::u16string_view aVariable, const ScAddress& aAddress, bool b3D = true);
+    void      applyString(std::u16string_view aVariable, std::u16string_view aValue);
+    void      applyNumber(std::u16string_view aVariable, sal_Int32 aValue);
 };
 
 class AddressWalker
diff --git a/sc/source/ui/inc/drawview.hxx b/sc/source/ui/inc/drawview.hxx
index 6ecf44456059..3a2e844a8031 100644
--- a/sc/source/ui/inc/drawview.hxx
+++ b/sc/source/ui/inc/drawview.hxx
@@ -152,7 +152,7 @@ public:
         const Graphic& rGraphic,
         const OUString& rBeginUndoText,
         const OUString& rFile,
-        const OUString& rFilter);
+        std::u16string_view rFilter);
 
     static void CheckOle( const SdrMarkList& rMarkList, bool& rAnyOle, bool& rOneOle );
 
diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx
index bb0644ba856b..78241137592e 100644
--- a/sc/source/ui/inc/viewfunc.hxx
+++ b/sc/source/ui/inc/viewfunc.hxx
@@ -149,7 +149,7 @@ public:
     bool            PasteBitmapEx( const Point&, const BitmapEx& );
     bool            PasteMetaFile( const Point&, const GDIMetaFile& );
     bool            PasteGraphic( const Point& rPos, const Graphic& rGraphic,
-                                    const OUString& rFile, const OUString& rFilter );
+                                    const OUString& rFile, std::u16string_view rFilter );
     bool            PasteBookmark( SotClipboardFormatId nFormatId,
                                 const css::uno::Reference< css::datatransfer::XTransferable >& rxTransferable,
                                 SCCOL nPosX, SCROW nPosY );
diff --git a/sc/source/ui/vba/vbacondition.cxx b/sc/source/ui/vba/vbacondition.cxx
index 2e53d62fc5f8..09fccee63f77 100644
--- a/sc/source/ui/vba/vbacondition.cxx
+++ b/sc/source/ui/vba/vbacondition.cxx
@@ -134,7 +134,7 @@ ScVbaCondition< Ifc... >::Operator(bool _bIncludeFormulaValue)
             [[fallthrough]]; //TODO ???
         case sheet::ConditionOperator_NONE:
         default:
-            DebugHelper::basicexception(ERRCODE_BASIC_METHOD_FAILED, "Operator not supported");
+            DebugHelper::basicexception(ERRCODE_BASIC_METHOD_FAILED, u"Operator not supported");
         break;
     }
     return retvalue;
diff --git a/sc/source/ui/vba/vbaformat.cxx b/sc/source/ui/vba/vbaformat.cxx
index 46e29a8229b8..f44467d7cd02 100644
--- a/sc/source/ui/vba/vbaformat.cxx
+++ b/sc/source/ui/vba/vbaformat.cxx
@@ -72,7 +72,7 @@ ScVbaFormat< Ifc... >::ScVbaFormat( const uno::Reference< XHelperInterface >& xP
     try
     {
         if ( !mxModel.is() )
-            DebugHelper::basicexception(ERRCODE_BASIC_METHOD_FAILED, "XModel Interface could not be retrieved" );
+            DebugHelper::basicexception(ERRCODE_BASIC_METHOD_FAILED, u"XModel Interface could not be retrieved" );
         // mxServiceInfo is unused,

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list