sc/source/core/data/dpobject.cxx                        |    4 ++--
 sc/source/core/data/dpsave.cxx                          |    4 ++--
 sc/source/core/tool/dbdata.cxx                          |    2 +-
 sc/source/core/tool/detdata.cxx                         |    5 ++---
 sc/source/core/tool/rangelst.cxx                        |    5 ++---
 sc/source/filter/inc/xerecord.hxx                       |    4 +---
 sc/source/filter/xml/xmlcondformat.cxx                  |    4 +---
 sc/source/ui/docshell/macromgr.cxx                      |    2 +-
 sc/source/ui/unoobj/viewuno.cxx                         |    8 ++------
 sc/source/ui/view/gridwin.cxx                           |    2 +-
 slideshow/source/engine/pointersymbol.cxx               |    8 +++-----
 slideshow/source/engine/rehearsetimingsactivity.cxx     |    7 +++----
 slideshow/source/engine/shapes/appletshape.cxx          |   10 ++++++++++
 slideshow/source/engine/shapes/backgroundshape.cxx      |   10 ++++++++++
 slideshow/source/engine/shapes/drawshape.cxx            |   11 +++++++++++
 slideshow/source/engine/shapes/mediashape.cxx           |   10 ++++++++++
 slideshow/source/engine/slide/slideimpl.cxx             |    8 ++------
 slideshow/source/engine/slide/userpaintoverlay.cxx      |    4 +---
 slideshow/source/engine/slideoverlaybutton.cxx          |    5 +----
 slideshow/source/engine/transitions/slidechangebase.cxx |    8 ++------
 slideshow/source/engine/waitsymbol.cxx                  |    8 +++-----
 slideshow/source/inc/listenercontainer.hxx              |    7 +++++++
 slideshow/test/testshape.cxx                            |    8 +++-----
 23 files changed, 81 insertions(+), 63 deletions(-)

New commits:
commit 8158f016ea094ad48cdf11cd8ae46cd282af25d2
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Sat Nov 18 23:19:56 2023 +0100
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Sun Nov 19 13:41:30 2023 +0100

    c++20: use std::erase(_if) instead of std::remove(_if)+erase (part 11)
    
    Change-Id: I2197c65248a96caa8ae621d5b1d16aa1086fc525
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159643
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>

diff --git a/slideshow/source/engine/pointersymbol.cxx 
b/slideshow/source/engine/pointersymbol.cxx
index 44f31d5129ee..9c0d6fa78a97 100644
--- a/slideshow/source/engine/pointersymbol.cxx
+++ b/slideshow/source/engine/pointersymbol.cxx
@@ -134,13 +134,11 @@ void PointerSymbol::viewAdded( const UnoViewSharedPtr& 
rView )
 
 void PointerSymbol::viewRemoved( const UnoViewSharedPtr& rView )
 {
-    maViews.erase(
-        std::remove_if(
-            maViews.begin(), maViews.end(),
+    std::erase_if(
+            maViews,
             [&rView]
             ( const ViewsVecT::value_type& cp )
-            { return rView == cp.first; } ),
-        maViews.end() );
+            { return rView == cp.first; } );
 }
 
 void PointerSymbol::viewChanged( const UnoViewSharedPtr& rView )
diff --git a/slideshow/source/engine/rehearsetimingsactivity.cxx 
b/slideshow/source/engine/rehearsetimingsactivity.cxx
index 8284a998900f..7afe8bca53f5 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.cxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.cxx
@@ -349,12 +349,11 @@ void RehearseTimingsActivity::viewAdded( const 
UnoViewSharedPtr& rView )
 
 void RehearseTimingsActivity::viewRemoved( const UnoViewSharedPtr& rView )
 {
-    maViews.erase(
-        std::remove_if( maViews.begin(), maViews.end(),
+    std::erase_if(
+        maViews,
             [&rView]
             ( const ViewsVecT::value_type& cp )
-            { return rView == cp.first; } ),
-        maViews.end() );
+            { return rView == cp.first; } );
 }
 
 void RehearseTimingsActivity::viewChanged( const UnoViewSharedPtr& rView )
diff --git a/slideshow/source/engine/shapes/appletshape.cxx 
b/slideshow/source/engine/shapes/appletshape.cxx
index 6cc16ad6e500..9402a7f1194f 100644
--- a/slideshow/source/engine/shapes/appletshape.cxx
+++ b/slideshow/source/engine/shapes/appletshape.cxx
@@ -184,6 +184,8 @@ namespace slideshow::internal
                                         { return rLayer == 
pShape->getViewLayer(); } ) < 2,
                         "AppletShape::removeViewLayer(): Duplicate ViewLayer 
entries!" );
 
+// TODO : needed for the moment since ANDROID doesn't know size_t return from 
std::erase_if
+#if defined ANDROID
             ViewAppletShapeVector::iterator aIter;
 
             if( (aIter=::std::remove_if( maViewAppletShapes.begin(),
@@ -200,6 +202,14 @@ namespace slideshow::internal
             maViewAppletShapes.erase( aIter, aEnd );
 
             return true;
+#else
+            size_t nb = std::erase_if(maViewAppletShapes,
+                                         [&rLayer]
+                                         ( const ViewAppletShapeSharedPtr& 
pShape )
+                                         { return rLayer == 
pShape->getViewLayer(); } );
+            // if nb == 0, it means view layer seemingly was not added, failed
+            return (nb != 0);
+#endif
         }
 
 
diff --git a/slideshow/source/engine/shapes/backgroundshape.cxx 
b/slideshow/source/engine/shapes/backgroundshape.cxx
index d304b9f901e6..3028b6f44c85 100644
--- a/slideshow/source/engine/shapes/backgroundshape.cxx
+++ b/slideshow/source/engine/shapes/backgroundshape.cxx
@@ -187,6 +187,8 @@ namespace slideshow::internal
                                         { return pBgShape->getViewLayer() == 
rLayer; } ) < 2,
                         "BackgroundShape::removeViewLayer(): Duplicate 
ViewLayer entries!" );
 
+// TODO : needed for the moment since ANDROID doesn't know size_t return from 
std::erase_if
+#if defined ANDROID
             ViewBackgroundShapeVector::iterator aIter;
 
             if( (aIter=::std::remove_if( maViewShapes.begin(),
@@ -202,6 +204,14 @@ namespace slideshow::internal
             maViewShapes.erase( aIter, aEnd );
 
             return true;
+#else
+
+            size_t nb = std::erase_if(maViewShapes,
+                                         [&rLayer]( const 
ViewBackgroundShapeSharedPtr& pBgShape )
+                                         { return pBgShape->getViewLayer() == 
rLayer; } );
+            // if nb == 0, it means view shape seemingly was not added, failed
+            return (nb != 0);
+#endif
         }
 
         void BackgroundShape::clearAllViewLayers()
diff --git a/slideshow/source/engine/shapes/drawshape.cxx 
b/slideshow/source/engine/shapes/drawshape.cxx
index cdda31da8a66..185b76cc23d3 100644
--- a/slideshow/source/engine/shapes/drawshape.cxx
+++ b/slideshow/source/engine/shapes/drawshape.cxx
@@ -659,6 +659,9 @@ namespace slideshow::internal
                                         { return rLayer == 
pShape->getViewLayer(); } ) < 2,
                         "DrawShape::removeViewLayer(): Duplicate ViewLayer 
entries!" );
 
+
+// TODO : needed for the moment since ANDROID doesn't know size_t return from 
std::erase_if
+#if defined ANDROID
             ViewShapeVector::iterator aIter;
 
             if( (aIter=::std::remove_if( maViewShapes.begin(),
@@ -675,6 +678,14 @@ namespace slideshow::internal
             maViewShapes.erase( aIter, aEnd );
 
             return true;
+#else
+            size_t nb = std::erase_if(maViewShapes,
+                                         [&rLayer]
+                                         ( const ViewShapeSharedPtr& pShape )
+                                         { return rLayer == 
pShape->getViewLayer(); } );
+            // if nb == 0, it means view shape seemingly was not added, failed
+            return (nb != 0);
+#endif
         }
 
         void DrawShape::clearAllViewLayers()
diff --git a/slideshow/source/engine/shapes/mediashape.cxx 
b/slideshow/source/engine/shapes/mediashape.cxx
index a5cbb926f4f5..c81fc87072c0 100644
--- a/slideshow/source/engine/shapes/mediashape.cxx
+++ b/slideshow/source/engine/shapes/mediashape.cxx
@@ -149,6 +149,8 @@ namespace slideshow::internal
                                         { return rLayer == 
pShape->getViewLayer(); } ) < 2,
                         "MediaShape::removeViewLayer(): Duplicate ViewLayer 
entries!" );
 
+// TODO : needed for the moment since ANDROID doesn't know size_t return from 
std::erase_if
+#if defined ANDROID
             ViewMediaShapeVector::iterator aIter;
 
             if( (aIter=::std::remove_if( maViewMediaShapes.begin(),
@@ -165,6 +167,14 @@ namespace slideshow::internal
             maViewMediaShapes.erase( aIter, aEnd );
 
             return true;
+#else
+            size_t nb = std::erase_if(maViewMediaShapes,
+                                         [&rLayer]
+                                         ( const ViewMediaShapeSharedPtr& 
pShape )
+                                         { return rLayer == 
pShape->getViewLayer(); } );
+            // if nb == 0, it means view media shape seemingly was not added, 
failed
+            return (nb != 0);
+#endif
         }
 
 
diff --git a/slideshow/source/engine/slide/slideimpl.cxx 
b/slideshow/source/engine/slide/slideimpl.cxx
index 57a76f752767..4f7cf5654d34 100644
--- a/slideshow/source/engine/slide/slideimpl.cxx
+++ b/slideshow/source/engine/slide/slideimpl.cxx
@@ -601,14 +601,10 @@ void SlideImpl::viewRemoved( const UnoViewSharedPtr& 
rView )
     if( mpLayerManager )
         mpLayerManager->viewRemoved( rView );
 
-    const VectorOfVectorOfSlideBitmaps::iterator aEnd( maSlideBitmaps.end() );
-    maSlideBitmaps.erase(
-        std::remove_if( maSlideBitmaps.begin(),
-                        aEnd,
+    std::erase_if(maSlideBitmaps,
                         [&rView]
                         ( const VectorOfVectorOfSlideBitmaps::value_type& cp )
-                        { return rView == cp.first; } ),
-                        aEnd );
+                        { return rView == cp.first; } );
 }
 
 void SlideImpl::viewChanged( const UnoViewSharedPtr& rView )
diff --git a/slideshow/source/engine/slide/userpaintoverlay.cxx 
b/slideshow/source/engine/slide/userpaintoverlay.cxx
index ffae0a17d883..460e5c5de00a 100644
--- a/slideshow/source/engine/slide/userpaintoverlay.cxx
+++ b/slideshow/source/engine/slide/userpaintoverlay.cxx
@@ -89,9 +89,7 @@ namespace slideshow::internal
 
             virtual void viewRemoved( const UnoViewSharedPtr& rView ) override
             {
-                maViews.erase( ::std::remove( maViews.begin(),
-                                              maViews.end(),
-                                              rView ) );
+                std::erase(maViews, rView);
             }
 
             virtual void viewChanged( const UnoViewSharedPtr& /*rView*/ ) 
override
diff --git a/slideshow/source/engine/slideoverlaybutton.cxx 
b/slideshow/source/engine/slideoverlaybutton.cxx
index bff6bc052ac0..40ade676b383 100644
--- a/slideshow/source/engine/slideoverlaybutton.cxx
+++ b/slideshow/source/engine/slideoverlaybutton.cxx
@@ -124,10 +124,7 @@ void SlideOverlayButton::viewAdded(const UnoViewSharedPtr& 
rView)
 
 void SlideOverlayButton::viewRemoved(const UnoViewSharedPtr& rView)
 {
-    maViews.erase(
-        std::remove_if(maViews.begin(), maViews.end(),
-                       [&rView](const ViewsVecT::value_type& cp) { return 
rView == cp.first; }),
-        maViews.end());
+    std::erase_if(maViews, [&rView](const ViewsVecT::value_type& cp) { return 
rView == cp.first; });
 }
 
 void SlideOverlayButton::viewChanged(const UnoViewSharedPtr& rView)
diff --git a/slideshow/source/engine/transitions/slidechangebase.cxx 
b/slideshow/source/engine/transitions/slidechangebase.cxx
index 03534822f140..2fcadf10b647 100644
--- a/slideshow/source/engine/transitions/slidechangebase.cxx
+++ b/slideshow/source/engine/transitions/slidechangebase.cxx
@@ -404,13 +404,9 @@ void SlideChangeBase::viewRemoved( const UnoViewSharedPtr& 
rView )
         return;
 
     // erase corresponding entry from maViewData
-    maViewData.erase(
-        std::remove_if(
-            maViewData.begin(),
-            maViewData.end(),
+    std::erase_if(maViewData,
             [rView]( const ViewEntry& rViewEntry )
-            { return rView == rViewEntry.getView(); } ),
-        maViewData.end() );
+            { return rView == rViewEntry.getView(); } );
 }
 
 void SlideChangeBase::viewChanged( const UnoViewSharedPtr& rView )
diff --git a/slideshow/source/engine/waitsymbol.cxx 
b/slideshow/source/engine/waitsymbol.cxx
index 2810dcf8e741..849c35bed7fe 100644
--- a/slideshow/source/engine/waitsymbol.cxx
+++ b/slideshow/source/engine/waitsymbol.cxx
@@ -138,13 +138,11 @@ void WaitSymbol::viewAdded( const UnoViewSharedPtr& rView 
)
 
 void WaitSymbol::viewRemoved( const UnoViewSharedPtr& rView )
 {
-    maViews.erase(
-        std::remove_if(
-            maViews.begin(), maViews.end(),
+    std::erase_if(
+            maViews,
             [&rView]
             ( const ViewsVecT::value_type& cp )
-            { return rView == cp.first; } ),
-        maViews.end() );
+            { return rView == cp.first; } );
 }
 
 void WaitSymbol::viewChanged( const UnoViewSharedPtr& rView )
diff --git a/slideshow/source/inc/listenercontainer.hxx 
b/slideshow/source/inc/listenercontainer.hxx
index 8deb1be90617..af40fb3e6467 100644
--- a/slideshow/source/inc/listenercontainer.hxx
+++ b/slideshow/source/inc/listenercontainer.hxx
@@ -299,6 +299,8 @@ public:
     {
         Guard aGuard(*this);
 
+// TODO : needed for the moment since ANDROID doesn't know size_t return from 
std::erase
+#if defined ANDROID
         const typename container_type::iterator aEnd( maListeners.end() );
         typename container_type::iterator       aIter;
         if( (aIter=std::remove(maListeners.begin(),
@@ -311,6 +313,11 @@ public:
         maListeners.erase( aIter, aEnd );
 
         return true;
+#else
+        size_t nb = std::erase(maListeners, rListener);
+        // if nb == 0, it means listener wasn't found
+        return (nb != 0);
+#endif
     }
 
     /// Removes all listeners in one go
diff --git a/slideshow/test/testshape.cxx b/slideshow/test/testshape.cxx
index db7031070ba8..dd25cc42401f 100644
--- a/slideshow/test/testshape.cxx
+++ b/slideshow/test/testshape.cxx
@@ -126,13 +126,11 @@ private:
                 { return cp.first == rNewLayer; } ) )
             throw std::exception();
 
-        maViewLayers.erase(
-            std::remove_if(
-                maViewLayers.begin(),
-                maViewLayers.end(),
+        std::erase_if(
+                maViewLayers,
                 [&rNewLayer]
                 ( const ViewVector::value_type& cp )
-                { return cp.first == rNewLayer; } ) );
+                { return cp.first == rNewLayer; } );
         return true;
     }
     virtual void clearAllViewLayers() override
commit 7ad4641e79169e297a88ee9e62e9be3d74f7124e
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Sat Nov 18 21:22:57 2023 +0100
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Sun Nov 19 13:41:20 2023 +0100

    c++20: use std::erase(_if) instead of std::remove(_if)+erase (part 8)
    
    Change-Id: Ia726fbbfd3f08eb4bb5c7ccaf10d65fe01ca6585
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159639
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>

diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index 8c549ed4b3ab..37a7bf73d35a 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -3627,7 +3627,7 @@ bool ScDPCollection::GetReferenceGroups(const ScDPObject& 
rDPObj, const ScDPDime
 
 void ScDPCollection::DeleteOnTab( SCTAB nTab )
 {
-    maTables.erase( std::remove_if(maTables.begin(), maTables.end(), 
MatchByTable(nTab)), maTables.end());
+    std::erase_if(maTables, MatchByTable(nTab));
 }
 
 void ScDPCollection::UpdateReference( UpdateRefMode eUpdateRefMode,
@@ -3765,7 +3765,7 @@ void ScDPCollection::FreeTable(const ScDPObject* 
pDPObject)
         return pCurrent.get() == pDPObject;
     };
 
-    maTables.erase(std::remove_if(maTables.begin(), maTables.end(), 
funcRemoveCondition), maTables.end());
+    std::erase_if(maTables, funcRemoveCondition);
 }
 
 ScDPObject* ScDPCollection::InsertNewTable(std::unique_ptr<ScDPObject> pDPObj)
diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx
index 74f9131caf16..246714e84321 100644
--- a/sc/source/core/data/dpsave.cxx
+++ b/sc/source/core/data/dpsave.cxx
@@ -302,7 +302,7 @@ void 
ScDPSaveDimension::AddMember(std::unique_ptr<ScDPSaveMember> pMember)
     }
     else
     {
-        maMemberList.erase(std::remove(maMemberList.begin(), 
maMemberList.end(), aExisting->second.get()), maMemberList.end());
+        std::erase(maMemberList, aExisting->second.get());
         aExisting->second = std::move(pMember);
     }
     maMemberList.push_back( tmp );
@@ -471,7 +471,7 @@ void ScDPSaveDimension::SetMemberPosition( const OUString& 
rName, sal_Int32 nNew
 {
     ScDPSaveMember* pMember = GetMemberByName( rName ); // make sure it exists 
and is in the hash
 
-    maMemberList.erase(std::remove( maMemberList.begin(), maMemberList.end(), 
pMember), maMemberList.end() );
+    std::erase(maMemberList, pMember);
 
     maMemberList.insert( maMemberList.begin() + nNewPos, pMember );
 }
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index 69e28ca62876..c2096b39c4d1 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -1329,7 +1329,7 @@ const ScDBData* 
ScDBCollection::AnonDBs::findByRange(const ScRange& rRange) cons
 void ScDBCollection::AnonDBs::deleteOnTab(SCTAB nTab)
 {
     FindByTable func(nTab);
-    m_DBs.erase(std::remove_if(m_DBs.begin(), m_DBs.end(), func), m_DBs.end());
+    std::erase_if(m_DBs, func);
 }
 
 ScDBData* ScDBCollection::AnonDBs::getByRange(const ScRange& rRange)
diff --git a/sc/source/core/tool/detdata.cxx b/sc/source/core/tool/detdata.cxx
index 6faa3cb37c0d..8af4e0bf0c53 100644
--- a/sc/source/core/tool/detdata.cxx
+++ b/sc/source/core/tool/detdata.cxx
@@ -29,11 +29,10 @@ ScDetOpList::ScDetOpList(const ScDetOpList& rList) :
 
 void ScDetOpList::DeleteOnTab( SCTAB nTab )
 {
-    aDetOpDataVector.erase(std::remove_if(aDetOpDataVector.begin(), 
aDetOpDataVector.end(),
+    std::erase_if(aDetOpDataVector,
         [&nTab](const ScDetOpData& rxDetOpData) {
             return rxDetOpData.GetPos().Tab() == nTab; // look for operations 
on the deleted sheet
-        }),
-        aDetOpDataVector.end());
+        });
 }
 
 void ScDetOpList::UpdateReference( const ScDocument* pDoc, UpdateRefMode 
eUpdateRefMode,
diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index fb880d308c89..f84c92c7a7ae 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -1268,12 +1268,11 @@ void ScRangePairList::UpdateReference( UpdateRefMode 
eUpdateRefMode,
 // Delete entries that have the labels (first range) on nTab
 void ScRangePairList::DeleteOnTab( SCTAB nTab )
 {
-    maPairs.erase(std::remove_if(maPairs.begin(), maPairs.end(),
+    std::erase_if(maPairs,
         [&nTab](const ScRangePair& rR) {
             const ScRange & rRange = rR.GetRange(0);
             return (rRange.aStart.Tab() == nTab) && (rRange.aEnd.Tab() == 
nTab);
-        }),
-        maPairs.end());
+        });
 }
 
 ScRangePair* ScRangePairList::Find( const ScAddress& rAdr )
diff --git a/sc/source/filter/inc/xerecord.hxx 
b/sc/source/filter/inc/xerecord.hxx
index c6901e7fb022..a05ea97cbb41 100644
--- a/sc/source/filter/inc/xerecord.hxx
+++ b/sc/source/filter/inc/xerecord.hxx
@@ -395,9 +395,7 @@ public:
     void        InvalidateRecord( size_t nPos ) { maRecs[ nPos ] = nullptr; }
     void        RemoveInvalidatedRecords()
     {
-        maRecs.erase(
-            std::remove_if( maRecs.begin(), maRecs.end(), [](const 
RecordRefType& xRec) { return xRec == nullptr; } ),
-            maRecs.end());
+        std::erase_if(maRecs, [](const RecordRefType& xRec) { return xRec == 
nullptr; } );
     }
 
 private:
diff --git a/sc/source/filter/xml/xmlcondformat.cxx 
b/sc/source/filter/xml/xmlcondformat.cxx
index 77280be47e21..23127414a164 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -54,9 +54,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > 
SAL_CALL ScXMLConditio
 
 IMPL_LINK(ScXMLConditionalFormatsContext, FormatDeletedHdl, 
ScConditionalFormat*, pFormat, void)
 {
-    mvCondFormatData.erase(std::remove_if(mvCondFormatData.begin(), 
mvCondFormatData.end(),
-                                          [pFormat](CondFormatData& r){ return 
r.mpFormat == pFormat; }),
-                           mvCondFormatData.end());
+    std::erase_if(mvCondFormatData, [pFormat](CondFormatData& r){ return 
r.mpFormat == pFormat; });
 }
 
 void SAL_CALL ScXMLConditionalFormatsContext::endFastElement( sal_Int32 
/*nElement*/ )
diff --git a/sc/source/ui/docshell/macromgr.cxx 
b/sc/source/ui/docshell/macromgr.cxx
index 9850b4ce90d2..455571e7917c 100644
--- a/sc/source/ui/docshell/macromgr.cxx
+++ b/sc/source/ui/docshell/macromgr.cxx
@@ -63,7 +63,7 @@ public:
     {
         for (auto& rEntry : maCells)
         {
-            rEntry.second.erase(std::remove(rEntry.second.begin(), 
rEntry.second.end(), pCell), rEntry.second.end() );
+            std::erase(rEntry.second, pCell);
         }
     }
 
diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index e9b6c31fe70b..9304d72471d9 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -1343,9 +1343,7 @@ void SAL_CALL 
ScTabViewObj::removeEnhancedMouseClickHandler( const uno::Referenc
 {
     SolarMutexGuard aGuard;
     sal_uInt16 nCount = aMouseClickHandlers.size();
-    aMouseClickHandlers.erase(
-        std::remove(aMouseClickHandlers.begin(), aMouseClickHandlers.end(), 
aListener),
-        aMouseClickHandlers.end());
+    std::erase(aMouseClickHandlers, aListener);
     if (aMouseClickHandlers.empty() && (nCount > 0)) // only if last listener 
removed
         EndMouseListening();
 }
@@ -1366,9 +1364,7 @@ void SAL_CALL 
ScTabViewObj::removeActivationEventListener( const uno::Reference<
 {
     SolarMutexGuard aGuard;
     sal_uInt16 nCount = aActivationListeners.size();
-    aActivationListeners.erase(
-        std::remove(aActivationListeners.begin(), aActivationListeners.end(), 
aListener),
-        aActivationListeners.end());
+    std::erase(aActivationListeners, aListener);
     if (aActivationListeners.empty() && (nCount > 0)) // only if last listener 
removed
         EndActivationListening();
 }
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index ffd6362ab584..557e78ea991a 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -1542,7 +1542,7 @@ void ScGridWindow::LaunchDataSelectMenu(const SCCOL nCol, 
const SCROW nRow)
     if (pData && !pData->IsIgnoreBlank())
     {
         auto lambda = [](const ScTypedStrData& rStr) { return 
rStr.GetString().isEmpty(); };
-        aStrings.erase(std::remove_if(aStrings.begin(), aStrings.end(), 
lambda), aStrings.end());
+        std::erase_if(aStrings, lambda);
     }
 
     if (aStrings.empty())

Reply via email to