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())