oox/source/drawingml/diagram/diagram.cxx | 5 ++--- oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 14 ++++++-------- package/source/manifest/ManifestImport.cxx | 3 +-- package/source/xstor/ohierarchyholder.cxx | 5 ++--- package/source/xstor/owriteablestream.cxx | 2 +- package/source/xstor/xstorage.cxx | 11 +++++------ 6 files changed, 17 insertions(+), 23 deletions(-)
New commits: commit 06e469623307821e8a1c4b0a3a2aa6f3dd202da6 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Sat Nov 18 15:09:20 2023 +0100 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Sat Nov 18 18:38:56 2023 +0100 c++20: use std::erase(_if) instead of std::remove(_if)+erase (part 6) Change-Id: Ic073d7444e968e90068aa60847bc9211167f6278 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159626 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2...@yahoo.fr> diff --git a/package/source/manifest/ManifestImport.cxx b/package/source/manifest/ManifestImport.cxx index 2c55bcf87fe9..195324fdbe2a 100644 --- a/package/source/manifest/ManifestImport.cxx +++ b/package/source/manifest/ManifestImport.cxx @@ -401,8 +401,7 @@ void SAL_CALL ManifestImport::endElement( const OUString& aName ) aSequence[PKG_SIZE_NOENCR_MNFST].Name = "KeyInfo"; aSequence[PKG_SIZE_NOENCR_MNFST].Value <<= comphelper::containerToSequence(aKeys); } - aSequence.erase(std::remove_if(aSequence.begin(), aSequence.end(), - isEmpty), aSequence.end()); + std::erase_if(aSequence, isEmpty); bIgnoreEncryptData = false; rManVector.push_back ( comphelper::containerToSequence(aSequence) ); diff --git a/package/source/xstor/ohierarchyholder.cxx b/package/source/xstor/ohierarchyholder.cxx index eafdf4a567f4..d9b5b137434d 100644 --- a/package/source/xstor/ohierarchyholder.cxx +++ b/package/source/xstor/ohierarchyholder.cxx @@ -262,10 +262,9 @@ void SAL_CALL OHierarchyElement_Impl::disposing( const lang::EventObject& Source std::unique_lock aGuard(m_aMutex); uno::Reference< embed::XExtendedStorageStream > xStream(Source.Source, uno::UNO_QUERY); - m_aOpenStreams.erase(std::remove_if(m_aOpenStreams.begin(), m_aOpenStreams.end(), + std::erase_if(m_aOpenStreams, [&xStream](const OWeakStorRefVector_Impl::value_type& rxStorage) { - return !rxStorage.get().is() || rxStorage.get() == xStream; }), - m_aOpenStreams.end()); + return !rxStorage.get().is() || rxStorage.get() == xStream; }); } TestForClosing(); diff --git a/package/source/xstor/owriteablestream.cxx b/package/source/xstor/owriteablestream.cxx index bd58f579a326..59e5e94316a3 100644 --- a/package/source/xstor/owriteablestream.cxx +++ b/package/source/xstor/owriteablestream.cxx @@ -1292,7 +1292,7 @@ uno::Reference< io::XInputStream > OWriteStream_Impl::GetRawInStream() void OWriteStream_Impl::InputStreamDisposed( OInputCompStream* pStream ) { ::osl::MutexGuard aGuard( m_xMutex->GetMutex() ); - m_aInputStreamsVector.erase(std::remove(m_aInputStreamsVector.begin(), m_aInputStreamsVector.end(), pStream ), m_aInputStreamsVector.end()); + std::erase(m_aInputStreamsVector, pStream); } void OWriteStream_Impl::CreateReadonlyCopyBasedOnData( const uno::Reference< io::XInputStream >& xDataToCopy, const uno::Sequence< beans::PropertyValue >& aProps, uno::Reference< io::XStream >& xTargetStream ) diff --git a/package/source/xstor/xstorage.cxx b/package/source/xstor/xstorage.cxx index e2c0207a1553..05150a48f988 100644 --- a/package/source/xstor/xstorage.cxx +++ b/package/source/xstor/xstorage.cxx @@ -1398,7 +1398,7 @@ SotElement_Impl* OStorage_Impl::InsertElement( const OUString& aName, bool bIsSt OpenSubStream( pDeletedElm ); auto & rVec = m_aChildrenMap[aName]; - rVec.erase(std::remove(rVec.begin(), rVec.end(), pDeletedElm), rVec.end()); + std::erase(rVec, pDeletedElm); if (rVec.empty()) m_aChildrenMap.erase(aName); m_aDeletedVector.push_back( pDeletedElm ); @@ -1493,7 +1493,7 @@ void OStorage_Impl::RemoveElement( OUString const & rName, SotElement_Impl* pEle if ( pElement->m_bIsInserted ) { delete pElement; - mapIt->second.erase(std::remove(mapIt->second.begin(), mapIt->second.end(), pElement), mapIt->second.end()); + std::erase(mapIt->second, pElement); if (mapIt->second.empty()) m_aChildrenMap.erase(mapIt); } @@ -1868,11 +1868,10 @@ void OStorage::ChildIsDisposed( const uno::Reference< uno::XInterface >& xChild // the locking is done in the listener auto& rVec = m_aOpenSubComponentsVector; - rVec.erase(std::remove_if(rVec.begin(), rVec.end(), + std::erase_if(rVec, [&xChild](const uno::Reference<lang::XComponent>& xTmp) { return !xTmp.is() || xTmp == xChild; - }), - rVec.end()); + }); } void OStorage::BroadcastModifiedIfNecessary() @@ -2860,7 +2859,7 @@ void SAL_CALL OStorage::renameElement( const OUString& aElementName, const OUStr for (auto it = rVec.begin(); it != rVec.end(); ++it) if (pElement == *it) { - rVec.erase(std::remove(rVec.begin(), rVec.end(), pElement), rVec.end()); + std::erase(rVec, pElement); if (rVec.empty()) m_pImpl->m_aChildrenMap.erase(mapIt); break; commit 597ba50a18ad9101cb5fa506b200fea12b580aa6 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Sat Nov 18 15:02:17 2023 +0100 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Sat Nov 18 18:38:46 2023 +0100 c++20: use std::erase(_if) instead of std::remove(_if)+erase (part 5) Change-Id: I373e5185e53ce88fba36d69d0fc20c29bb89d184 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159625 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2...@yahoo.fr> diff --git a/oox/source/drawingml/diagram/diagram.cxx b/oox/source/drawingml/diagram/diagram.cxx index 7927b7aa6945..ce8a7cfb1db4 100644 --- a/oox/source/drawingml/diagram/diagram.cxx +++ b/oox/source/drawingml/diagram/diagram.cxx @@ -90,13 +90,12 @@ static void removeUnneededGroupShapes(const ShapePtr& pShape) { std::vector<ShapePtr>& rChildren = pShape->getChildren(); - rChildren.erase(std::remove_if(rChildren.begin(), rChildren.end(), + std::erase_if(rChildren, [](const ShapePtr& aChild) { return aChild->getServiceName() == "com.sun.star.drawing.GroupShape" && aChild->getChildren().empty(); - }), - rChildren.end()); + }); for (const auto& pChild : rChildren) { diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index f9fce3b1f837..6ee4b88322d0 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -1125,13 +1125,12 @@ void AlgAtom::layoutShape(const ShapePtr& rShape, const std::vector<Constraint>& if (mnType != XML_lin) { // TODO Handle spacing from constraints for non-lin algorithms as well. - rShape->getChildren().erase( - std::remove_if(rShape->getChildren().begin(), rShape->getChildren().end(), + std::erase_if( + rShape->getChildren(), [](const ShapePtr& aChild) { return aChild->getServiceName() == "com.sun.star.drawing.GroupShape" && aChild->getChildren().empty(); - }), - rShape->getChildren().end()); + }); } switch(mnType) @@ -1541,14 +1540,13 @@ void AlgAtom::layoutShape(const ShapePtr& rShape, const std::vector<Constraint>& else { // TODO Handle spacing from constraints without rules as well. - rShape->getChildren().erase( - std::remove_if(rShape->getChildren().begin(), rShape->getChildren().end(), + std::erase_if( + rShape->getChildren(), [](const ShapePtr& aChild) { return aChild->getServiceName() == "com.sun.star.drawing.GroupShape" && aChild->getChildren().empty(); - }), - rShape->getChildren().end()); + }); fCount = rShape->getChildren().size(); } awt::Size aChildSize = rShape->getSize();