sw/source/core/doc/docbm.cxx |   33 ++++++++++++++-------------------
 1 file changed, 14 insertions(+), 19 deletions(-)

New commits:
commit 3e88456b7135ef2cd0f0121d46cc56436ce56ee5
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Thu Mar 27 14:49:44 2025 +0500
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Thu Mar 27 16:04:26 2025 +0100

    Simplify lcl_FindMarkByName
    
    Change-Id: Ia8c53bc4c31c03870b3f5d1314fe14fa6291d372
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183373
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 1055799fca70..a9c50cdd8b4a 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -378,16 +378,11 @@ namespace
         return rMarks.end();
     };
 
-    template<class MarkT>
-    typename std::vector<MarkT*>::const_iterator lcl_FindMarkByName(
-        const OUString& rName,
-        const typename std::vector<MarkT*>::const_iterator& ppMarksBegin,
-        const typename std::vector<MarkT*>::const_iterator& ppMarksEnd)
+    template <class container_t>
+    auto lcl_FindMarkByName(const OUString& rName, const container_t& 
container)
     {
-        return find_if(
-            ppMarksBegin,
-            ppMarksEnd,
-            [&rName] (MarkT const*const pMark) { return pMark->GetName() == 
rName; } );
+        return find_if(begin(container), end(container),
+                       [&rName](const auto* item) { return item->GetName() == 
rName; });
     }
 
     template<class MarkT>
@@ -822,7 +817,7 @@ namespace sw::mark
             " - Mark is not in my doc.");
         if ( io_pMark->GetName() == rNewName )
             return true;
-        if (lcl_FindMarkByName<MarkBase>(rNewName, m_vAllMarks.begin(), 
m_vAllMarks.end()) != m_vAllMarks.end())
+        if (lcl_FindMarkByName(rNewName, m_vAllMarks) != m_vAllMarks.end())
             return false;
         const OUString sOldName(io_pMark->GetName());
         io_pMark->SetName(rNewName);
@@ -1337,12 +1332,17 @@ namespace sw::mark
 
     IDocumentMarkAccess::const_iterator MarkManager::findMark(const OUString& 
rName) const
     {
-        return lcl_FindMarkByName<MarkBase>(rName, m_vAllMarks.begin(), 
m_vAllMarks.end());
+        return lcl_FindMarkByName(rName, m_vAllMarks);
     }
 
     std::vector<sw::mark::Bookmark*>::const_iterator 
MarkManager::findBookmark(const OUString& rName) const
     {
-        return lcl_FindMarkByName<sw::mark::Bookmark>(rName, 
m_vBookmarks.begin(), m_vBookmarks.end());
+        return lcl_FindMarkByName(rName, m_vBookmarks);
+    }
+
+    std::vector<sw::mark::AnnotationMark*>::const_iterator 
MarkManager::findAnnotationMark( const OUString& rName ) const
+    {
+        return lcl_FindMarkByName(rName, m_vAnnotationMarks);
     }
 
     // find the first Bookmark that does not start before
@@ -1679,11 +1679,6 @@ namespace sw::mark
         return m_vAnnotationMarks.size();
     }
 
-    std::vector<sw::mark::AnnotationMark*>::const_iterator 
MarkManager::findAnnotationMark( const OUString& rName ) const
-    {
-        return lcl_FindMarkByName<AnnotationMark>( rName, 
m_vAnnotationMarks.begin(), m_vAnnotationMarks.end() );
-    }
-
     AnnotationMark* MarkManager::getAnnotationMarkFor(const SwPosition& rPos) 
const
     {
         auto const pAnnotationMark = find_if(
@@ -1777,7 +1772,7 @@ namespace sw::mark
             return newName;
         }
 
-        if (lcl_FindMarkByName<MarkBase>(rName, m_vAllMarks.begin(), 
m_vAllMarks.end()) == m_vAllMarks.end())
+        if (lcl_FindMarkByName(rName, m_vAllMarks) == m_vAllMarks.end())
         {
             return rName;
         }
@@ -1795,7 +1790,7 @@ namespace sw::mark
         {
             sTmp = aPrefix + OUString::number(nCnt);
             nCnt++;
-            if (lcl_FindMarkByName<MarkBase>(sTmp, m_vAllMarks.begin(), 
m_vAllMarks.end()) == m_vAllMarks.end())
+            if (lcl_FindMarkByName(sTmp, m_vAllMarks) == m_vAllMarks.end())
             {
                 break;
             }

Reply via email to