[Libreoffice-commits] core.git: sw/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Nov 7 07:15:11 UTC 2018
sw/source/core/table/swnewtable.cxx | 27 ++---
sw/source/core/table/swtable.cxx | 16 +--
sw/source/core/text/EnhancedPDFExportHelper.cxx | 35 ++-----
sw/source/core/text/SwGrammarMarkUp.cxx | 36 ++-----
sw/source/core/text/itratr.cxx | 20 +---
sw/source/core/text/porlay.cxx | 10 +-
sw/source/core/text/txtfrm.cxx | 16 +--
sw/source/core/text/wrong.cxx | 81 +++++-----------
sw/source/core/tox/ToxTextGenerator.cxx | 6 -
sw/source/core/txtnode/atrftn.cxx | 5 -
sw/source/core/txtnode/modeltoviewhelper.cxx | 115 ++++++++++--------------
sw/source/core/txtnode/ndtxt.cxx | 38 +++----
sw/source/core/txtnode/thints.cxx | 94 ++++++++-----------
sw/source/core/undo/SwRewriter.cxx | 4
sw/source/core/undo/unnum.cxx | 6 -
sw/source/core/undo/unsort.cxx | 8 -
sw/source/core/undo/untbl.cxx | 10 --
sw/source/core/unocore/unochart.cxx | 25 +----
sw/source/core/unocore/unoidx.cxx | 6 -
sw/source/core/unocore/unosrch.cxx | 15 +--
sw/source/core/unocore/unostyle.cxx | 10 --
sw/source/core/view/viewsh.cxx | 4
22 files changed, 240 insertions(+), 347 deletions(-)
New commits:
commit db601f697acff89e216228f2d5828b1563e58aa0
Author: Arkadiy Illarionov <qarkai at gmail.com>
AuthorDate: Mon Nov 5 14:57:19 2018 +0300
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Nov 7 08:13:49 2018 +0100
Simplify containers iterations in sw/source/core/[t-v]*
Use range-based loop or replace with STL functions
Change-Id: Ib4a0da0c452dbfa00a1d7ec79f9570e41eda0d41
Reviewed-on: https://gerrit.libreoffice.org/62893
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx
index 5dff4890393d..d71edc38df84 100644
--- a/sw/source/core/table/swnewtable.cxx
+++ b/sw/source/core/table/swnewtable.cxx
@@ -1347,18 +1347,16 @@ static sal_uInt16 lcl_CalculateSplitLineHeights( SwSplitLines &rCurr, SwSplitLin
rCurr.insert( rCurr.end(), nHeight );
pLines[ i - nFirst ] = nHeight;
}
- auto pSplit = aBoxes.begin();
- while( pSplit != aBoxes.end() )
+ for( const auto& rSplit : aBoxes )
{
- SwTwips nBase = pSplit->first <= nFirst ? 0 :
- pLines[ pSplit->first - nFirst - 1 ];
- SwTwips nDiff = pLines[ pSplit->second - nFirst ] - nBase;
+ SwTwips nBase = rSplit.first <= nFirst ? 0 :
+ pLines[ rSplit.first - nFirst - 1 ];
+ SwTwips nDiff = pLines[ rSplit.second - nFirst ] - nBase;
for( sal_uInt16 i = 1; i < nCnt; ++i )
{
SwTwips nSplit = nBase + ( i * nDiff ) / nCnt;
rNew.insert( nSplit );
}
- ++pSplit;
}
return nFirst;
}
@@ -1422,10 +1420,9 @@ bool SwTable::NewSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCn
aFndBox.DelFrames( *this );
SwTwips nLast = 0;
SwSplitLines::iterator pSplit = aSplitLines.begin();
- SwSplitLines::iterator pCurr = aRowLines.begin();
- while( pCurr != aRowLines.end() )
+ for( const auto& rCurr : aRowLines )
{
- while( pSplit != aSplitLines.end() && *pSplit < *pCurr )
+ while( pSplit != aSplitLines.end() && *pSplit < rCurr )
{
InsertSpannedRow( pDoc, nFirst, 1 );
SwTableLine* pRow = GetTabLines()[ nFirst ];
@@ -1438,16 +1435,15 @@ bool SwTable::NewSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCn
++pSplit;
++nFirst;
}
- if( pSplit != aSplitLines.end() && *pCurr == *pSplit )
+ if( pSplit != aSplitLines.end() && rCurr == *pSplit )
++pSplit;
SwTableLine* pRow = GetTabLines()[ nFirst ];
SwFrameFormat* pRowFormat = pRow->ClaimFrameFormat();
SwFormatFrameSize aFSz( pRowFormat->GetFrameSize() );
aFSz.SetHeightSizeType( ATT_MIN_SIZE );
- aFSz.SetHeight( *pCurr - nLast );
+ aFSz.SetHeight( rCurr - nLast );
pRowFormat->SetFormatAttr( aFSz );
- nLast = *pCurr;
- ++pCurr;
+ nLast = rCurr;
++nFirst;
}
}
@@ -1476,9 +1472,8 @@ bool SwTable::NewSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCn
aIndices.insert( i );
}
- std::set<size_t>::iterator pCurrBox = aIndices.begin();
- while( pCurrBox != aIndices.end() )
- lcl_UnMerge( *this, *rBoxes[*pCurrBox++], nCnt, bSameHeight );
+ for( const auto& rCurrBox : aIndices )
+ lcl_UnMerge( *this, *rBoxes[rCurrBox], nCnt, bSameHeight );
CHECK_TABLE( *this )
// update the layout
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index e77c7a657606..4054520e1f0f 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -1086,8 +1086,8 @@ static void lcl_CalcNewWidths( std::list<sal_uInt16> &rSpanPos, ChangeList& rCha
if( pCurr != rChanges.end() && pCurr->first <= nPos &&
pCurr->first != pCurr->second )
{
- while( pSpan != rSpanPos.end() && *pSpan < nCurr )
- ++pSpan;
+ pSpan = std::find_if(pSpan, rSpanPos.end(),
+ [nCurr](const sal_uInt16 nSpan) { return nSpan >= nCurr; });
if( pSpan != rSpanPos.end() && *pSpan == nCurr )
{
aNewChanges.push_back( *pCurr );
@@ -1217,12 +1217,10 @@ void SwTable::NewSetTabCols( Parm &rParm, const SwTabCols &rNew,
if( nCurr )
{
ChangeList aCopy;
- ChangeList::iterator pCop = aOldNew.begin();
sal_uInt16 nPos = 0;
- while( pCop != aOldNew.end() )
+ for( const auto& rCop : aOldNew )
{
- aCopy.push_back( *pCop );
- ++pCop;
+ aCopy.push_back( rCop );
aRowSpanPos.push_back( nPos++ );
}
lcl_CalcNewWidths( aRowSpanPos, aCopy, rLines[nCurr],
@@ -1241,12 +1239,10 @@ void SwTable::NewSetTabCols( Parm &rParm, const SwTabCols &rNew,
if( nCurr+1 < static_cast<sal_uInt16>(rLines.size()) )
{
ChangeList aCopy;
- ChangeList::iterator pCop = aOldNew.begin();
sal_uInt16 nPos = 0;
- while( pCop != aOldNew.end() )
+ for( const auto& rCop : aOldNew )
{
- aCopy.push_back( *pCop );
- ++pCop;
+ aCopy.push_back( rCop );
aRowSpanPos.push_back( nPos++ );
}
lcl_CalcNewWidths( aRowSpanPos, aCopy, rLines[nCurr],
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index 0416f62bcabb..b804369aaa07 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -110,10 +110,9 @@ void lcl_DBGCheckStack()
*/
sal_uInt16 nElement;
- std::vector< sal_uInt16 >::iterator aIter;
- for ( aIter = aStructStack.begin(); aIter != aStructStack.end(); ++aIter )
+ for ( const auto& rItem : aStructStack )
{
- nElement = *aIter;
+ nElement = rItem;
}
(void)nElement;
}
@@ -806,16 +805,12 @@ void SwTaggedPDFHelper::SetAttributes( vcl::PDFWriter::StructElement eType )
SwRect aPorRect;
rInf.CalcRect( *pPor, &aPorRect );
const Point aPorCenter = aPorRect.Center();
- LinkIdMap::const_iterator aIter;
- for ( aIter = rLinkIdMap.begin(); aIter != rLinkIdMap.end(); ++aIter )
+ auto aIter = std::find_if(rLinkIdMap.begin(), rLinkIdMap.end(),
+ [&aPorCenter](const IdMapEntry& rEntry) { return rEntry.first.IsInside(aPorCenter); });
+ if (aIter != rLinkIdMap.end())
{
- const SwRect& rLinkRect = (*aIter).first;
- if ( rLinkRect.IsInside( aPorCenter ) )
- {
- sal_Int32 nLinkId = (*aIter).second;
- mpPDFExtOutDevData->SetStructureAttributeNumerical( vcl::PDFWriter::LinkAnnotation, nLinkId );
- break;
- }
+ sal_Int32 nLinkId = (*aIter).second;
+ mpPDFExtOutDevData->SetStructureAttributeNumerical( vcl::PDFWriter::LinkAnnotation, nLinkId );
}
}
}
@@ -2119,11 +2114,9 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
// LINKS FROM EDITENGINE
std::vector< vcl::PDFExtOutDevBookmarkEntry >& rBookmarks = pPDFExtOutDevData->GetBookmarks();
- std::vector< vcl::PDFExtOutDevBookmarkEntry >::const_iterator aIBeg = rBookmarks.begin();
- const std::vector< vcl::PDFExtOutDevBookmarkEntry >::const_iterator aIEnd = rBookmarks.end();
- while ( aIBeg != aIEnd )
+ for ( const auto& rBookmark : rBookmarks )
{
- OUString aBookmarkName( aIBeg->aBookmark );
+ OUString aBookmarkName( rBookmark.aBookmark );
const bool bIntern = '#' == aBookmarkName[0];
if ( bIntern )
{
@@ -2142,24 +2135,22 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
if ( -1 != nDestPageNum )
{
tools::Rectangle aRect(SwRectToPDFRect(pCurrPage, rDestRect.SVRect()));
- if ( aIBeg->nLinkId != -1 )
+ if ( rBookmark.nLinkId != -1 )
{
// Destination Export
const sal_Int32 nDestId = pPDFExtOutDevData->CreateDest(aRect, nDestPageNum);
// Connect Link and Destination:
- pPDFExtOutDevData->SetLinkDest( aIBeg->nLinkId, nDestId );
+ pPDFExtOutDevData->SetLinkDest( rBookmark.nLinkId, nDestId );
}
else
{
- pPDFExtOutDevData->DescribeRegisteredDest(aIBeg->nDestId, aRect, nDestPageNum);
+ pPDFExtOutDevData->DescribeRegisteredDest(rBookmark.nDestId, aRect, nDestPageNum);
}
}
}
else
- pPDFExtOutDevData->SetLinkURL( aIBeg->nLinkId, aBookmarkName );
-
- ++aIBeg;
+ pPDFExtOutDevData->SetLinkURL( rBookmark.nLinkId, aBookmarkName );
}
rBookmarks.clear();
}
diff --git a/sw/source/core/text/SwGrammarMarkUp.cxx b/sw/source/core/text/SwGrammarMarkUp.cxx
index a752619d8f81..3a007ce055d2 100644
--- a/sw/source/core/text/SwGrammarMarkUp.cxx
+++ b/sw/source/core/text/SwGrammarMarkUp.cxx
@@ -41,9 +41,8 @@ void SwGrammarMarkUp::MoveGrammar( sal_Int32 nPos, sal_Int32 nDiff )
Move( nPos, nDiff );
if( maSentence.empty() )
return;
- std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
- while( pIter != maSentence.end() && *pIter < nPos )
- ++pIter;
+ auto pIter = std::find_if(maSentence.begin(), maSentence.end(),
+ [nPos](const sal_Int32& rPos) { return rPos >= nPos; });
const sal_Int32 nEnd = nDiff < 0 ? nPos-nDiff : nPos;
while( pIter != maSentence.end() )
{
@@ -60,9 +59,8 @@ SwGrammarMarkUp* SwGrammarMarkUp::SplitGrammarList( sal_Int32 nSplitPos )
SwGrammarMarkUp* pNew = static_cast<SwGrammarMarkUp*>(SplitList( nSplitPos ));
if( maSentence.empty() )
return pNew;
- std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
- while( pIter != maSentence.end() && *pIter < nSplitPos )
- ++pIter;
+ auto pIter = std::find_if(maSentence.begin(), maSentence.end(),
+ [nSplitPos](const sal_Int32& rPos) { return rPos >= nSplitPos; });
if( pIter != maSentence.begin() )
{
if( !pNew ) {
@@ -82,11 +80,9 @@ void SwGrammarMarkUp::JoinGrammarList( SwGrammarMarkUp* pNext, sal_Int32 nInsert
{
if( pNext->maSentence.empty() )
return;
- std::vector< sal_Int32 >::iterator pIter = pNext->maSentence.begin();
- while( pIter != pNext->maSentence.end() )
+ for( auto& rPos : pNext->maSentence )
{
- *pIter = *pIter + nInsertPos;
- ++pIter;
+ rPos += nInsertPos;
}
maSentence.insert( maSentence.end(), pNext->maSentence.begin(), pNext->maSentence.end() );
}
@@ -106,9 +102,8 @@ void SwGrammarMarkUp::ClearGrammarList( sal_Int32 nSentenceEnd )
nStart = *pIter;
++pIter;
}
- std::vector< sal_Int32 >::iterator pLast = pIter;
- while( pLast != maSentence.end() && *pLast <= nSentenceEnd )
- ++pLast;
+ auto pLast = std::find_if(pIter, maSentence.end(),
+ [nSentenceEnd](const sal_Int32& rPos) { return rPos > nSentenceEnd; });
maSentence.erase( pIter, pLast );
RemoveEntry( nStart, nSentenceEnd );
SetInvalid( nSentenceEnd + 1, COMPLETE_STRING );
@@ -117,9 +112,8 @@ void SwGrammarMarkUp::ClearGrammarList( sal_Int32 nSentenceEnd )
void SwGrammarMarkUp::setSentence( sal_Int32 nStart )
{
- std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
- while( pIter != maSentence.end() && *pIter < nStart )
- ++pIter;
+ auto pIter = std::find_if(maSentence.begin(), maSentence.end(),
+ [nStart](const sal_Int32& rPos) { return rPos >= nStart; });
if( pIter == maSentence.end() || *pIter > nStart )
maSentence.insert( pIter, nStart );
}
@@ -128,9 +122,8 @@ sal_Int32 SwGrammarMarkUp::getSentenceStart( sal_Int32 nPos )
{
if( maSentence.empty() )
return 0;
- std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
- while( pIter != maSentence.end() && *pIter < nPos )
- ++pIter;
+ auto pIter = std::find_if(maSentence.begin(), maSentence.end(),
+ [nPos](const sal_Int32& rPos) { return rPos >= nPos; });
if( pIter != maSentence.begin() )
--pIter;
if( pIter != maSentence.end() && *pIter < nPos )
@@ -142,9 +135,8 @@ sal_Int32 SwGrammarMarkUp::getSentenceEnd( sal_Int32 nPos )
{
if( maSentence.empty() )
return COMPLETE_STRING;
- std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
- while( pIter != maSentence.end() && *pIter <= nPos )
- ++pIter;
+ auto pIter = std::find_if(maSentence.begin(), maSentence.end(),
+ [nPos](const sal_Int32& rPos) { return rPos > nPos; });
if( pIter != maSentence.end() )
return *pIter;
return COMPLETE_STRING;
diff --git a/sw/source/core/text/itratr.cxx b/sw/source/core/text/itratr.cxx
index 0533fae9be27..7e1c7e4e1bfb 100644
--- a/sw/source/core/text/itratr.cxx
+++ b/sw/source/core/text/itratr.cxx
@@ -606,20 +606,12 @@ static bool CanSkipOverRedline(SwRangeRedline const& rRedline,
// char formats must be *nominally* the same
if (pAttr->Which() == RES_TXTATR_CHARFMT)
{
- bool isFound(false);
- for (auto iter = activeCharFmts.begin(); iter != activeCharFmts.end(); ++iter)
- {
- if (**iter == *pAttr)
- {
- activeCharFmts.erase(iter);
- isFound = true;
- break;
- }
- }
- if (!isFound)
- {
- if (!isTheAnswerYes) return false;
- }
+ auto iter = std::find_if(activeCharFmts.begin(), activeCharFmts.end(),
+ [&pAttr](const SwTextAttr* pCharFmt) { return *pCharFmt == *pAttr; });
+ if (iter != activeCharFmts.end())
+ activeCharFmts.erase(iter);
+ else if (!isTheAnswerYes)
+ return false;
}
SfxItemSet const& rSet((pAttr->Which() == RES_TXTATR_CHARFMT)
? static_cast<SfxItemSet const&>(pAttr->GetCharFormat().GetCharFormat()->GetAttrSet())
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index 307f28ab0f30..c309f6c3fe1d 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -1372,13 +1372,13 @@ void SwScriptInfo::InitScriptInfo(const SwTextNode& rNode,
// position and that we don't have "empty" changes.
sal_uInt8 nLastTyp = i18n::ScriptType::WEAK;
sal_Int32 nLastPos = 0;
- for (std::vector<ScriptChangeInfo>::const_iterator i2 = m_ScriptChanges.begin(); i2 != m_ScriptChanges.end(); ++i2)
+ for (const auto& rScriptChange : m_ScriptChanges)
{
- SAL_WARN_IF( nLastTyp == i2->type ||
- nLastPos >= i2->position,
+ SAL_WARN_IF( nLastTyp == rScriptChange.type ||
+ nLastPos >= rScriptChange.position,
"sw.core", "Heavy InitScriptType() confusion" );
- nLastPos = i2->position;
- nLastTyp = i2->type;
+ nLastPos = rScriptChange.position;
+ nLastTyp = rScriptChange.type;
}
#endif
}
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index b6b51c9c713b..e124fd73bc56 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -966,9 +966,9 @@ MapViewToModel(MergedPara const& rMerged, TextFrameIndex const i_nIndex)
{
sal_Int32 nIndex(i_nIndex);
sw::Extent const* pExtent(nullptr);
- for (auto it = rMerged.extents.begin(); it != rMerged.extents.end(); ++it)
+ for (const auto& rExt : rMerged.extents)
{
- pExtent = &*it;
+ pExtent = &rExt;
if (nIndex < (pExtent->nEnd - pExtent->nStart))
{
return std::make_pair(pExtent->pNode, pExtent->nStart + nIndex);
@@ -1680,23 +1680,23 @@ void UpdateMergedParaForMove(sw::MergedPara & rMerged,
std::vector<std::pair<sal_Int32, sal_Int32>> deleted;
sal_Int32 const nSourceEnd(nSourceStart + nLen);
sal_Int32 nLastEnd(0);
- for (auto it = rMerged.extents.begin(); it != rMerged.extents.end(); ++it)
+ for (const auto& rExt : rMerged.extents)
{
- if (it->pNode == &rNode)
+ if (rExt.pNode == &rNode)
{
sal_Int32 const nStart(std::max(nLastEnd, nSourceStart));
- sal_Int32 const nEnd(std::min(it->nStart, nSourceEnd));
+ sal_Int32 const nEnd(std::min(rExt.nStart, nSourceEnd));
if (nStart < nEnd)
{
deleted.emplace_back(nStart, nEnd);
}
- nLastEnd = it->nEnd;
- if (nSourceEnd <= it->nEnd)
+ nLastEnd = rExt.nEnd;
+ if (nSourceEnd <= rExt.nEnd)
{
break;
}
}
- else if (rNode.GetIndex() < it->pNode->GetIndex())
+ else if (rNode.GetIndex() < rExt.pNode->GetIndex())
{
break;
}
diff --git a/sw/source/core/text/wrong.cxx b/sw/source/core/text/wrong.cxx
index d85cf9a99bdf..4e1668104f32 100644
--- a/sw/source/core/text/wrong.cxx
+++ b/sw/source/core/text/wrong.cxx
@@ -198,18 +198,12 @@ sal_uInt16 SwWrongList::GetWrongPos( sal_Int32 nValue ) const
// position of the first smart tag which covers nValue
if ( !maList[0].maType.isEmpty() || maList[0].mpSubList )
{
- for (std::vector<SwWrongArea>::const_iterator aIter(maList.begin()), aEnd(maList.end()); aIter != aEnd; ++aIter)
- {
- const sal_Int32 nSTPos = (*aIter).mnPos;
- const sal_Int32 nSTLen = (*aIter).mnLen;
- if ( nSTPos <= nValue && nValue < nSTPos + nSTLen )
- break;
- if ( nSTPos > nValue )
- break;
-
- ++nMin;
- }
- return nMin;
+ auto aIter = std::find_if(maList.begin(), maList.end(),
+ [nValue](const SwWrongArea& rST) {
+ return (rST.mnPos <= nValue && nValue < rST.mnPos + rST.mnLen)
+ || (rST.mnPos > nValue);
+ });
+ return static_cast<sal_uInt16>(std::distance(maList.begin(), aIter));
}
--nMax;
@@ -591,38 +585,36 @@ void SwWrongList::Remove(sal_uInt16 nIdx, sal_uInt16 nLen )
}
void SwWrongList::RemoveEntry( sal_Int32 nBegin, sal_Int32 nEnd ) {
- sal_uInt16 nDelPos = 0;
- sal_uInt16 nDel = 0;
- std::vector<SwWrongArea>::const_iterator aIter(maList.begin()), aEnd(maList.end());
- while( aIter != aEnd && (*aIter).mnPos < nBegin )
- {
- ++aIter;
- ++nDelPos;
- }
+ std::vector<SwWrongArea>::const_iterator aEnd(maList.end());
+ auto aDelIter = std::find_if(maList.cbegin(), aEnd,
+ [nBegin](const SwWrongArea& rST) { return rST.mnPos >= nBegin; });
+ auto aIter = aDelIter;
if( WRONGLIST_GRAMMAR == GetWrongListType() )
{
- while( aIter != aEnd && nBegin < nEnd && nEnd > (*aIter).mnPos )
+ if( nBegin < nEnd )
{
- ++aIter;
- ++nDel;
+ aIter = std::find_if(aDelIter, aEnd,
+ [nEnd](const SwWrongArea& rST) { return rST.mnPos >= nEnd; });
}
}
else
{
- while( aIter != aEnd && nBegin == (*aIter).mnPos && nEnd == (*aIter).mnPos +(*aIter).mnLen )
- {
- ++aIter;
- ++nDel;
- }
+ aIter = std::find_if(aDelIter, aEnd,
+ [nBegin, nEnd](const SwWrongArea& rST) {
+ return (rST.mnPos != nBegin) || ((rST.mnPos + rST.mnLen) != nEnd);
+ });
}
+ auto nDel = static_cast<sal_uInt16>(std::distance(aDelIter, aIter));
if( nDel )
+ {
+ auto nDelPos = static_cast<sal_uInt16>(std::distance(maList.cbegin(), aDelIter));
Remove( nDelPos, nDel );
+ }
}
bool SwWrongList::LookForEntry( sal_Int32 nBegin, sal_Int32 nEnd ) {
- std::vector<SwWrongArea>::iterator aIter = maList.begin();
- while( aIter != maList.end() && (*aIter).mnPos < nBegin )
- ++aIter;
+ auto aIter = std::find_if(maList.begin(), maList.end(),
+ [nBegin](const SwWrongArea& rST) { return rST.mnPos >= nBegin; });
return aIter != maList.end()
&& nBegin == (*aIter).mnPos
&& nEnd == (*aIter).mnPos + (*aIter).mnLen;
@@ -632,31 +624,14 @@ void SwWrongList::Insert( const OUString& rType,
css::uno::Reference< css::container::XStringKeyMap > const & xPropertyBag,
sal_Int32 nNewPos, sal_Int32 nNewLen )
{
- std::vector<SwWrongArea>::iterator aIter = maList.begin();
-
- while ( aIter != maList.end() )
+ auto aIter = std::find_if(maList.begin(), maList.end(),
+ [nNewPos](const SwWrongArea& rST) { return nNewPos <= rST.mnPos; });
+ if ( aIter != maList.end() && nNewPos == (*aIter).mnPos )
{
const sal_Int32 nSTPos = (*aIter).mnPos;
- if ( nNewPos < nSTPos )
- {
- // insert at current position
- break;
- }
- else if ( nNewPos == nSTPos )
- {
- while ( aIter != maList.end() && (*aIter).mnPos == nSTPos )
- {
- if ( nNewLen < (*aIter).mnLen )
- {
- // insert at current position
- break;
- }
- ++aIter;
- }
- break;
- }
- ++aIter;
+ aIter = std::find_if(aIter, maList.end(),
+ [nSTPos, nNewLen](const SwWrongArea& rST) { return rST.mnPos != nSTPos || nNewLen < rST.mnLen; });
}
maList.insert(aIter, SwWrongArea( rType, meType, xPropertyBag, nNewPos, nNewLen) );
diff --git a/sw/source/core/tox/ToxTextGenerator.cxx b/sw/source/core/tox/ToxTextGenerator.cxx
index 4734b1e97bde..43df06ad2e07 100644
--- a/sw/source/core/tox/ToxTextGenerator.cxx
+++ b/sw/source/core/tox/ToxTextGenerator.cxx
@@ -178,11 +178,9 @@ ToxTextGenerator::GenerateText(SwDoc* pDoc, const std::vector<std::unique_ptr<Sw
// create an enumerator
// #i21237#
SwFormTokens aPattern = mToxForm.GetPattern(nLvl);
- SwFormTokens::iterator aIt = aPattern.begin();
// remove text from node
- while(aIt != aPattern.end()) // #i21237#
+ for(const auto& aToken : aPattern) // #i21237#
{
- SwFormToken aToken = *aIt; // #i21237#
sal_Int32 nStartCharStyle = rText.getLength();
switch( aToken.eTokenType )
{
@@ -259,8 +257,6 @@ ToxTextGenerator::GenerateText(SwDoc* pDoc, const std::vector<std::unique_ptr<Sw
rText.getLength(), SetAttrMode::DONTEXPAND );
}
}
-
- ++aIt; // #i21237#
}
pTOXNd->SetAttr( aTStops );
diff --git a/sw/source/core/txtnode/atrftn.cxx b/sw/source/core/txtnode/atrftn.cxx
index cc0e6f0ea12a..9ab598e1ef5f 100644
--- a/sw/source/core/txtnode/atrftn.cxx
+++ b/sw/source/core/txtnode/atrftn.cxx
@@ -96,11 +96,10 @@ namespace {
rLowestUnusedNums.reserve(numRequired);
sal_uInt16 newNum = 0;
- std::set<sal_uInt16>::iterator it;
//Start by using numbers from gaps in rUsedNums
- for( it = rUsedNums.begin(); it != rUsedNums.end(); ++it )
+ for( const auto& rNum : rUsedNums )
{
- while ( newNum < *it )
+ while ( newNum < rNum )
{
rLowestUnusedNums.push_back( newNum++ );
if ( --numRequired == 0)
diff --git a/sw/source/core/txtnode/modeltoviewhelper.cxx b/sw/source/core/txtnode/modeltoviewhelper.cxx
index 8c2b2c078996..e2776a8ebe36 100644
--- a/sw/source/core/txtnode/modeltoviewhelper.cxx
+++ b/sw/source/core/txtnode/modeltoviewhelper.cxx
@@ -182,10 +182,8 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode &rNode, ExpandMode eMode)
std::vector<sw::mark::IFieldmark*> aDropDowns =
rNode.GetDoc()->getIDocumentMarkAccess()->getDropDownsFor(aPaM);
- for (std::vector<sw::mark::IFieldmark*>::iterator aI = aDropDowns.begin(), aEnd = aDropDowns.end();
- aI != aEnd; ++aI)
+ for (sw::mark::IFieldmark *pMark : aDropDowns)
{
- sw::mark::IFieldmark *pMark = *aI;
const sal_Int32 nDummyCharPos = pMark->GetMarkPos().nContent.GetIndex()-1;
if (aHiddenMulti.IsSelected(nDummyCharPos))
continue;
@@ -207,15 +205,15 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode &rNode, ExpandMode eMode)
//store the end of each range in the model and where that end of range
//maps to in the view
sal_Int32 nOffset = 0;
- for (std::vector<block>::iterator i = aBlocks.begin(); i != aBlocks.end(); ++i)
+ for (const auto& rBlock : aBlocks)
{
- const sal_Int32 nBlockLen = i->m_nLen;
+ const sal_Int32 nBlockLen = rBlock.m_nLen;
if (!nBlockLen)
continue;
- const sal_Int32 nBlockStart = i->m_nStart;
+ const sal_Int32 nBlockStart = rBlock.m_nStart;
const sal_Int32 nBlockEnd = nBlockStart + nBlockLen;
- if (!i->m_bVisible)
+ if (!rBlock.m_bVisible)
{
sal_Int32 const modelBlockPos(nBlockEnd);
sal_Int32 const viewBlockPos(nBlockStart + nOffset);
@@ -226,16 +224,16 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode &rNode, ExpandMode eMode)
}
else
{
- for (FieldResultSet::iterator j = i->m_aAttrs.begin(); j != i->m_aAttrs.end(); ++j)
+ for (const auto& rAttr : rBlock.m_aAttrs)
{
- sal_Int32 const modelFieldPos(j->m_nFieldPos);
- sal_Int32 const viewFieldPos(j->m_nFieldPos + nOffset);
+ sal_Int32 const modelFieldPos(rAttr.m_nFieldPos);
+ sal_Int32 const viewFieldPos(rAttr.m_nFieldPos + nOffset);
m_aMap.emplace_back(modelFieldPos, viewFieldPos, true );
- m_aRetText = m_aRetText.replaceAt(viewFieldPos, 1, j->m_sExpand);
- nOffset += j->m_sExpand.getLength() - 1;
+ m_aRetText = m_aRetText.replaceAt(viewFieldPos, 1, rAttr.m_sExpand);
+ nOffset += rAttr.m_sExpand.getLength() - 1;
- switch (j->m_eType)
+ switch (rAttr.m_eType)
{
case FieldResult::FIELD:
m_FieldPositions.push_back(viewFieldPos);
@@ -260,23 +258,20 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode &rNode, ExpandMode eMode)
sal_Int32 ModelToViewHelper::ConvertToViewPosition( sal_Int32 nModelPos ) const
{
// Search for entry after nPos:
- ConversionMap::const_iterator aIter;
-
- for ( aIter = m_aMap.begin(); aIter != m_aMap.end(); ++aIter )
+ auto aIter = std::find_if(m_aMap.begin(), m_aMap.end(),
+ [nModelPos](const ConversionMapEntry& rEntry) { return rEntry.m_nModelPos >= nModelPos; });
+ if (aIter != m_aMap.end())
{
- if (aIter->m_nModelPos >= nModelPos)
- {
- //if it's an invisible portion, map all contained positions
- //to the anchor viewpos
- if (!aIter->m_bVisible)
- return aIter->m_nViewPos;
-
- //if it's a visible portion, then the view position is the anchor
- //viewpos - the offset of the input modelpos from the anchor
- //modelpos
- const sal_Int32 nOffsetFromEnd = aIter->m_nModelPos - nModelPos;
- return aIter->m_nViewPos - nOffsetFromEnd;
- }
+ //if it's an invisible portion, map all contained positions
+ //to the anchor viewpos
+ if (!aIter->m_bVisible)
+ return aIter->m_nViewPos;
+
+ //if it's a visible portion, then the view position is the anchor
+ //viewpos - the offset of the input modelpos from the anchor
+ //modelpos
+ const sal_Int32 nOffsetFromEnd = aIter->m_nModelPos - nModelPos;
+ return aIter->m_nViewPos - nOffsetFromEnd;
}
return nModelPos;
@@ -290,46 +285,40 @@ ModelToViewHelper::ModelPosition ModelToViewHelper::ConvertToModelPosition( sal_
aRet.mnPos = nViewPos;
// Search for entry after nPos:
- ConversionMap::const_iterator aIter;
- for ( aIter = m_aMap.begin(); aIter != m_aMap.end(); ++aIter )
- {
- if (aIter->m_nViewPos > nViewPos)
- {
- const sal_Int32 nPosModel = aIter->m_nModelPos;
- const sal_Int32 nPosExpand = aIter->m_nViewPos;
+ auto aIter = std::find_if(m_aMap.begin(), m_aMap.end(),
+ [nViewPos](const ConversionMapEntry& rEntry) { return rEntry.m_nViewPos > nViewPos; });
- // If nViewPos is in front of first field, we are finished.
- if ( aIter == m_aMap.begin() )
- break;
+ // If nViewPos is in front of first field, we are finished.
+ if (aIter != m_aMap.end() && aIter != m_aMap.begin())
+ {
+ const sal_Int32 nPosModel = aIter->m_nModelPos;
+ const sal_Int32 nPosExpand = aIter->m_nViewPos;
- --aIter;
+ --aIter;
- // nPrevPosModel is the field position
- const sal_Int32 nPrevPosModel = aIter->m_nModelPos;
- const sal_Int32 nPrevPosExpand = aIter->m_nViewPos;
+ // nPrevPosModel is the field position
+ const sal_Int32 nPrevPosModel = aIter->m_nModelPos;
+ const sal_Int32 nPrevPosExpand = aIter->m_nViewPos;
- const sal_Int32 nLengthModel = nPosModel - nPrevPosModel;
- const sal_Int32 nLengthExpand = nPosExpand - nPrevPosExpand;
+ const sal_Int32 nLengthModel = nPosModel - nPrevPosModel;
+ const sal_Int32 nLengthExpand = nPosExpand - nPrevPosExpand;
- const sal_Int32 nFieldLengthExpand = nLengthExpand - nLengthModel + 1;
- const sal_Int32 nFieldEndExpand = nPrevPosExpand + nFieldLengthExpand;
+ const sal_Int32 nFieldLengthExpand = nLengthExpand - nLengthModel + 1;
+ const sal_Int32 nFieldEndExpand = nPrevPosExpand + nFieldLengthExpand;
- // Check if nPos is outside of field:
- if ( nFieldEndExpand <= nViewPos )
- {
- // nPos is outside of field:
- const sal_Int32 nDistToField = nViewPos - nFieldEndExpand + 1;
- aRet.mnPos = nPrevPosModel + nDistToField;
- }
- else
- {
- // nViewPos is inside a field:
- aRet.mnPos = nPrevPosModel;
- aRet.mnSubPos = nViewPos - nPrevPosExpand;
- aRet.mbIsField = true;
- }
-
- break;
+ // Check if nPos is outside of field:
+ if ( nFieldEndExpand <= nViewPos )
+ {
+ // nPos is outside of field:
+ const sal_Int32 nDistToField = nViewPos - nFieldEndExpand + 1;
+ aRet.mnPos = nPrevPosModel + nDistToField;
+ }
+ else
+ {
+ // nViewPos is inside a field:
+ aRet.mnPos = nPrevPosModel;
+ aRet.mnSubPos = nViewPos - nPrevPosExpand;
+ aRet.mbIsField = true;
}
}
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index b0e8086a2206..c9b419dd69ea 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1305,16 +1305,13 @@ void SwTextNode::Update(
{
pCollector.reset( new SwpHts );
}
- for(SwpHts::iterator it = pCollector->begin(); it != pCollector->end(); ++it)
+ auto it = std::find_if(pCollector->begin(), pCollector->end(),
+ [nWhich](const SwTextAttr *pTmp) { return nWhich == pTmp->Which(); });
+ if (it != pCollector->end())
{
- SwTextAttr *pTmp = *it;
- if( nWhich == pTmp->Which() )
- {
- pCollector->erase( it );
- SwTextAttr::Destroy( pTmp,
- GetDoc()->GetAttrPool() );
- break;
- }
+ SwTextAttr *pTmp = *it;
+ pCollector->erase( it );
+ SwTextAttr::Destroy( pTmp, GetDoc()->GetAttrPool() );
}
SwTextAttr * const pTmp =
MakeTextAttr( *GetDoc(),
@@ -1441,9 +1438,9 @@ void SwTextNode::Update(
#if OSL_DEBUG_LEVEL > 0
std::vector<SwFrameFormat*> checkFormats;
const SwFrameFormats& rFormats = *GetDoc()->GetSpzFrameFormats();
- for (SwFrameFormats::const_iterator pFormat = rFormats.begin(); pFormat != rFormats.end(); ++pFormat)
+ for (auto& rpFormat : rFormats)
{
- const SwFormatAnchor& rAnchor = (*pFormat)->GetAnchor();
+ const SwFormatAnchor& rAnchor = rpFormat->GetAnchor();
const SwPosition* pContentAnchor = rAnchor.GetContentAnchor();
if (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_CHAR && pContentAnchor)
{
@@ -1455,7 +1452,7 @@ void SwTextNode::Update(
#if 0
rEndIdx.Assign(&aTmpIdxReg, rEndIdx.GetIndex());
#endif
- checkFormats.push_back( *pFormat );
+ checkFormats.push_back( rpFormat );
}
}
}
@@ -4987,17 +4984,16 @@ namespace {
{
bool bRemoveFromList( false );
{
- std::vector<sal_uInt16>::const_iterator it;
- for ( it = rWhichArr.begin(); it != rWhichArr.end(); ++it)
+ for (const auto& rWhich : rWhichArr)
{
// RES_PARATR_NUMRULE and RES_PARATR_LIST_ID
- if ( *it == RES_PARATR_NUMRULE )
+ if ( rWhich == RES_PARATR_NUMRULE )
{
bRemoveFromList = bRemoveFromList ||
mrTextNode.GetNumRule() != nullptr;
mbListStyleOrIdReset = true;
}
- else if ( *it == RES_PARATR_LIST_ID )
+ else if ( rWhich == RES_PARATR_LIST_ID )
{
bRemoveFromList = bRemoveFromList ||
( mrTextNode.GetpSwAttrSet() &&
@@ -5007,7 +5003,7 @@ namespace {
}
// #i70748#
// RES_PARATR_OUTLINELEVEL
- else if ( *it == RES_PARATR_OUTLINELEVEL )
+ else if ( rWhich == RES_PARATR_OUTLINELEVEL )
{
mrTextNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
}
@@ -5016,19 +5012,19 @@ namespace {
{
// RES_PARATR_LIST_LEVEL
mbUpdateListLevel = mbUpdateListLevel ||
- ( *it == RES_PARATR_LIST_LEVEL &&
+ ( rWhich == RES_PARATR_LIST_LEVEL &&
mrTextNode.HasAttrListLevel() );
// RES_PARATR_LIST_ISRESTART and RES_PARATR_LIST_RESTARTVALUE
mbUpdateListRestart = mbUpdateListRestart ||
- ( *it == RES_PARATR_LIST_ISRESTART &&
+ ( rWhich == RES_PARATR_LIST_ISRESTART &&
mrTextNode.IsListRestart() ) ||
- ( *it == RES_PARATR_LIST_RESTARTVALUE &&
+ ( rWhich == RES_PARATR_LIST_RESTARTVALUE &&
mrTextNode.HasAttrListRestartValue() );
// RES_PARATR_LIST_ISCOUNTED
mbUpdateListCount = mbUpdateListCount ||
- ( *it == RES_PARATR_LIST_ISCOUNTED &&
+ ( rWhich == RES_PARATR_LIST_ISCOUNTED &&
!mrTextNode.IsCountedInList() );
}
}
diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx
index 024824f60733..40f4ab7ccc29 100644
--- a/sw/source/core/txtnode/thints.cxx
+++ b/sw/source/core/txtnode/thints.cxx
@@ -444,20 +444,18 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
// so any hint in OverlappingExisting can be split at most by one hint
// in SplitNew, or even not at all (this is not true for existing hints
// that go _around_ new hint, which is the reason d'^etre for pass 4)
- for (NestList_t::iterator itOther = OverlappingExisting.begin();
- itOther != OverlappingExisting.end(); ++itOther)
+ for (auto& rpOther : OverlappingExisting)
{
- const sal_Int32 nOtherStart( (*itOther)->GetStart() );
- const sal_Int32 nOtherEnd ( *(*itOther)->GetEnd() );
+ const sal_Int32 nOtherStart( rpOther->GetStart() );
+ const sal_Int32 nOtherEnd ( *rpOther->GetEnd() );
- for (NestList_t::iterator itNew = SplitNew.begin();
- itNew != SplitNew.end(); ++itNew)
+ for (const auto& rpNew : SplitNew)
{
- const sal_Int32 nSplitNewStart( (*itNew)->GetStart() );
- const sal_Int32 nSplitNewEnd ( *(*itNew)->GetEnd() );
+ const sal_Int32 nSplitNewStart( rpNew->GetStart() );
+ const sal_Int32 nSplitNewEnd ( *rpNew->GetEnd() );
// 4 cases: within, around, overlap l, overlap r, (OTHER: no action)
const bool bRemoveOverlap(
- !bNewSelfNestable && (nNewWhich == (*itOther)->Which()) );
+ !bNewSelfNestable && (nNewWhich == rpOther->Which()) );
switch (ComparePosition(nSplitNewStart, nSplitNewEnd,
nOtherStart, nOtherEnd))
@@ -476,9 +474,9 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
break;
case SwComparePosition::OverlapBefore:
{
- Delete( *itOther ); // this also does NoteInHistory!
- (*itOther)->GetStart() = nSplitNewEnd;
- InsertNesting( **itOther );
+ Delete( rpOther ); // this also does NoteInHistory!
+ rpOther->GetStart() = nSplitNewEnd;
+ InsertNesting( *rpOther );
if (!bRemoveOverlap)
{
if ( MAX_HINTS <= Count() )
@@ -487,7 +485,7 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
return false;
}
SwTextAttrNesting * const pOtherLeft(
- MakeTextAttrNesting( rNode, **itOther,
+ MakeTextAttrNesting( rNode, *rpOther,
nOtherStart, nSplitNewEnd ) );
InsertNesting( *pOtherLeft );
}
@@ -495,9 +493,9 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
break;
case SwComparePosition::OverlapBehind:
{
- Delete( *itOther ); // this also does NoteInHistory!
- *(*itOther)->GetEnd() = nSplitNewStart;
- InsertNesting( **itOther );
+ Delete( rpOther ); // this also does NoteInHistory!
+ *rpOther->GetEnd() = nSplitNewStart;
+ InsertNesting( *rpOther );
if (!bRemoveOverlap)
{
if ( MAX_HINTS <= Count() )
@@ -506,7 +504,7 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
return false;
}
SwTextAttrNesting * const pOtherRight(
- MakeTextAttrNesting( rNode, **itOther,
+ MakeTextAttrNesting( rNode, *rpOther,
nSplitNewStart, nOtherEnd ) );
InsertNesting( *pOtherRight );
}
@@ -525,26 +523,24 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
}
// pass 3: insert new hints
- for (NestList_t::iterator iter = SplitNew.begin();
- iter != SplitNew.end(); ++iter)
+ for (const auto& rpHint : SplitNew)
{
- InsertNesting(**iter);
+ InsertNesting(*rpHint);
}
// pass 4: handle overwritten hints
// RES_TXTATR_INETFMT and RES_TXTATR_CJK_RUBY should displace attributes
// of the same kind.
- for (NestList_t::iterator itOther = OverwrittenExisting.begin();
- itOther != OverwrittenExisting.end(); ++itOther)
+ for (auto& rpOther : OverwrittenExisting)
{
- const sal_Int32 nOtherStart( (*itOther)->GetStart() );
- const sal_Int32 nOtherEnd ( *(*itOther)->GetEnd() );
+ const sal_Int32 nOtherStart( rpOther->GetStart() );
+ const sal_Int32 nOtherEnd ( *rpOther->GetEnd() );
// overwritten portion is given by start/end of inserted hint
if ((nNewStart <= nOtherStart) && (nOtherEnd <= nNewEnd))
{
- Delete(*itOther);
- rNode.DestroyAttr( *itOther );
+ Delete(rpOther);
+ rNode.DestroyAttr( rpOther );
}
else
{
@@ -553,24 +549,24 @@ SwpHints::TryInsertNesting( SwTextNode & rNode, SwTextAttrNesting & rNewHint )
// now a RUBY is inserted within the META => the existing RUBY is split:
// here it is not possible to simply insert the left/right fragment
// of the existing RUBY because they <em>overlap</em> with the META!
- Delete( *itOther ); // this also does NoteInHistory!
+ Delete( rpOther ); // this also does NoteInHistory!
if (nNewEnd < nOtherEnd)
{
SwTextAttrNesting * const pOtherRight(
MakeTextAttrNesting(
- rNode, **itOther, nNewEnd, nOtherEnd ) );
+ rNode, *rpOther, nNewEnd, nOtherEnd ) );
bool const bSuccess( TryInsertNesting(rNode, *pOtherRight) );
SAL_WARN_IF(!bSuccess, "sw.core", "recursive call 1 failed?");
}
if (nOtherStart < nNewStart)
{
- *(*itOther)->GetEnd() = nNewStart;
- bool const bSuccess( TryInsertNesting(rNode, **itOther) );
+ *rpOther->GetEnd() = nNewStart;
+ bool const bSuccess( TryInsertNesting(rNode, *rpOther) );
SAL_WARN_IF(!bSuccess, "sw.core", "recursive call 2 failed?");
}
else
{
- rNode.DestroyAttr(*itOther);
+ rNode.DestroyAttr(rpOther);
}
}
}
@@ -657,10 +653,10 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
}
// Insert the newly created attributes:
- for ( aIter = aInsDelHints.begin(); aIter != aInsDelHints.end(); ++aIter )
+ for ( const auto& rpHint : aInsDelHints )
{
- Insert( *aIter );
- NoteInHistory( *aIter, true );
+ Insert( rpHint );
+ NoteInHistory( rpHint, true );
}
}
@@ -736,13 +732,12 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
// This should ensure, that pNewHint comes behind the already present
// character style
sal_uInt16 nCharStyleCount = 0;
- aIter = aInsDelHints.begin();
- while ( aIter != aInsDelHints.end() )
+ for ( const auto& rpHint : aInsDelHints )
{
- if ( RES_TXTATR_CHARFMT == (*aIter)->Which() )
+ if ( RES_TXTATR_CHARFMT == rpHint->Which() )
{
// #i74589#
- const SwFormatCharFormat& rOtherCharFormat = (*aIter)->GetCharFormat();
+ const SwFormatCharFormat& rOtherCharFormat = rpHint->GetCharFormat();
const SwFormatCharFormat& rThisCharFormat = rNewHint.GetCharFormat();
const bool bSameCharFormat = rOtherCharFormat.GetCharFormat() == rThisCharFormat.GetCharFormat();
@@ -754,8 +749,8 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
bSameCharFormat ) )
{
// Remove old hint
- Delete( *aIter );
- rNode.DestroyAttr( *aIter );
+ Delete( rpHint );
+ rNode.DestroyAttr( rpHint );
}
else
++nCharStyleCount;
@@ -764,8 +759,8 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
{
// remove all attributes from auto styles, which are explicitly set in
// the new character format:
- OSL_ENSURE( RES_TXTATR_AUTOFMT == (*aIter)->Which(), "AUTOSTYLES - Misc trouble" );
- SwTextAttr* pOther = *aIter;
+ OSL_ENSURE( RES_TXTATR_AUTOFMT == rpHint->Which(), "AUTOSTYLES - Misc trouble" );
+ SwTextAttr* pOther = rpHint;
std::shared_ptr<SfxItemSet> pOldStyle = static_cast<const SwFormatAutoFormat&>(pOther->GetAttr()).GetStyleHandle();
// For each attribute in the automatic style check if it
@@ -800,7 +795,6 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
NoteInHistory( pNewAttr, true );
}
}
- ++aIter;
}
// If there is no current hint and start and end of rNewHint
@@ -824,14 +818,12 @@ void SwpHints::BuildPortions( SwTextNode& rNode, SwTextAttr& rNewHint,
// Find the current autostyle. Mix attributes if necessary.
SwTextAttr* pCurrentAutoStyle = nullptr;
SwTextAttr* pCurrentCharFormat = nullptr;
- aIter = aInsDelHints.begin();
- while ( aIter != aInsDelHints.end() )
- {
- if ( RES_TXTATR_AUTOFMT == (*aIter)->Which() )
- pCurrentAutoStyle = *aIter;
- else if ( RES_TXTATR_CHARFMT == (*aIter)->Which() )
- pCurrentCharFormat = *aIter;
- ++aIter;
+ for ( const auto& rpHint : aInsDelHints )
+ {
+ if ( RES_TXTATR_AUTOFMT == rpHint->Which() )
+ pCurrentAutoStyle = rpHint;
+ else if ( RES_TXTATR_CHARFMT == rpHint->Which() )
+ pCurrentCharFormat = rpHint;
}
std::shared_ptr<SfxItemSet> pNewStyle = static_cast<const SwFormatAutoFormat&>(rNewHint.GetAttr()).GetStyleHandle();
diff --git a/sw/source/core/undo/SwRewriter.cxx b/sw/source/core/undo/SwRewriter.cxx
index cd63f3e551a8..22105f0a2aa8 100644
--- a/sw/source/core/undo/SwRewriter.cxx
+++ b/sw/source/core/undo/SwRewriter.cxx
@@ -46,9 +46,9 @@ OUString SwRewriter::Apply(const OUString & rStr) const
{
OUString aResult = rStr;
- for (std::vector<SwRewriteRule>::const_iterator aIt = mRules.begin(); aIt != mRules.end(); ++aIt)
+ for (const auto& rRule : mRules)
{
- aResult = aResult.replaceAll(GetPlaceHolder(aIt->first), aIt->second);
+ aResult = aResult.replaceAll(GetPlaceHolder(rRule.first), rRule.second);
}
return aResult;
diff --git a/sw/source/core/undo/unnum.cxx b/sw/source/core/undo/unnum.cxx
index 309c37803c98..480c9008f0bf 100644
--- a/sw/source/core/undo/unnum.cxx
+++ b/sw/source/core/undo/unnum.cxx
@@ -172,11 +172,11 @@ void SwUndoDelNum::UndoImpl(::sw::UndoRedoContext & rContext)
pHistory->TmpRollback( &rDoc, 0 );
pHistory->SetTmpEnd( pHistory->Count() );
- for( std::vector<NodeLevel>::const_iterator i = aNodes.begin(); i != aNodes.end(); ++i )
+ for( const auto& rNode : aNodes )
{
- SwTextNode* pNd = rDoc.GetNodes()[ i->index ]->GetTextNode();
+ SwTextNode* pNd = rDoc.GetNodes()[ rNode.index ]->GetTextNode();
OSL_ENSURE( pNd, "Where has the TextNode gone?" );
- pNd->SetAttrListLevel( i->level );
+ pNd->SetAttrListLevel( rNode.level );
if( pNd->GetCondFormatColl() )
pNd->ChkCondColl();
diff --git a/sw/source/core/undo/unsort.cxx b/sw/source/core/undo/unsort.cxx
index e3c640c3eca2..ac354d889be4 100644
--- a/sw/source/core/undo/unsort.cxx
+++ b/sw/source/core/undo/unsort.cxx
@@ -145,8 +145,8 @@ void SwUndoSort::UndoImpl(::sw::UndoRedoContext & rContext)
SwMoveFlags::DEFAULT);
}
// delete indices
- for(SwUndoSortList::const_iterator it = aIdxList.begin(); it != aIdxList.end(); ++it)
- delete *it;
+ for(auto& rpIdx : aIdxList)
+ delete rpIdx;
aIdxList.clear();
SetPaM(rPam, true);
}
@@ -220,8 +220,8 @@ void SwUndoSort::RedoImpl(::sw::UndoRedoContext & rContext)
SwMoveFlags::DEFAULT);
}
// delete indices
- for(SwUndoSortList::const_iterator it = aIdxList.begin(); it != aIdxList.end(); ++it)
- delete *it;
+ for(auto& rpIdx : aIdxList)
+ delete rpIdx;
aIdxList.clear();
SetPaM(rPam, true);
SwTextNode const*const pTNd = rPam.GetNode().GetTextNode();
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index aa4ff1cfdcf4..d1d349ae9615 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -1811,10 +1811,9 @@ void SwUndoTableNdsChg::RedoImpl(::sw::UndoRedoContext & rContext)
CHECK_TABLE( pTableNd->GetTable() )
SwSelBoxes aSelBoxes;
- for (std::set<sal_uLong>::iterator it = m_Boxes.begin();
- it != m_Boxes.end(); ++it)
+ for (const auto& rBox : m_Boxes)
{
- SwTableBox* pBox = pTableNd->GetTable().GetTableBox( *it );
+ SwTableBox* pBox = pTableNd->GetTable().GetTableBox( rBox );
aSelBoxes.insert( pBox );
}
@@ -1962,10 +1961,9 @@ CHECKTABLE(pTableNd->GetTable())
SwSelBoxes aSelBoxes;
SwTextFormatColl* pColl = rDoc.getIDocumentStylePoolAccess().GetTextCollFromPool( RES_POOLCOLL_STANDARD );
- std::set<sal_uLong>::iterator it;
- for (it = m_Boxes.begin(); it != m_Boxes.end(); ++it)
+ for (const auto& rBox : m_Boxes)
{
- aIdx = *it;
+ aIdx = rBox;
SwStartNode* pSttNd = rDoc.GetNodes().MakeTextSection( aIdx,
SwTableBoxStartNode, pColl );
pBox = new SwTableBox( static_cast<SwTableBoxFormat*>(pCpyBox->GetFrameFormat()), *pSttNd,
diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx
index b12ddb64987e..87584578da2c 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -1396,11 +1396,9 @@ void SAL_CALL SwChartDataProvider::dispose( )
if (bMustDispose)
{
// dispose all data-sequences
- Map_Set_DataSequenceRef_t::iterator aIt( aDataSequences.begin() );
- while (aIt != aDataSequences.end())
+ for (auto& rEntry : aDataSequences)
{
- DisposeAllDataSequences( (*aIt).first );
- ++aIt;
+ DisposeAllDataSequences( rEntry.first );
}
// release all references to data-sequences
aDataSequences.clear();
@@ -1461,17 +1459,15 @@ void SwChartDataProvider::InvalidateTable( const SwTable *pTable )
pTable->GetFrameFormat()->GetDoc()->getIDocumentChartDataProviderAccess().GetChartControllerHelper().StartOrContinueLocking();
const Set_DataSequenceRef_t &rSet = aDataSequences[ pTable ];
- Set_DataSequenceRef_t::const_iterator aIt( rSet.begin() );
- while (aIt != rSet.end())
+ for (const auto& rItem : rSet)
{
- uno::Reference< chart2::data::XDataSequence > xTemp(*aIt); // temporary needed for g++ 3.3.5
+ uno::Reference< chart2::data::XDataSequence > xTemp(rItem); // temporary needed for g++ 3.3.5
uno::Reference< util::XModifiable > xRef( xTemp, uno::UNO_QUERY );
if (xRef.is())
{
// mark the sequence as 'dirty' and notify listeners
xRef->setModified( true );
}
- ++aIt;
}
}
}
@@ -1545,17 +1541,14 @@ void SwChartDataProvider::DisposeAllDataSequences( const SwTable *pTable )
//! would become invalid.
const Set_DataSequenceRef_t aSet( aDataSequences[ pTable ] );
- Set_DataSequenceRef_t::const_iterator aIt( aSet.begin() );
- Set_DataSequenceRef_t::const_iterator aEndIt( aSet.end() );
- while (aIt != aEndIt)
+ for (const auto& rItem : aSet)
{
- uno::Reference< chart2::data::XDataSequence > xTemp(*aIt); // temporary needed for g++ 3.3.5
+ uno::Reference< chart2::data::XDataSequence > xTemp(rItem); // temporary needed for g++ 3.3.5
uno::Reference< lang::XComponent > xRef( xTemp, uno::UNO_QUERY );
if (xRef.is())
{
xRef->dispose();
}
- ++aIt;
}
}
}
@@ -1619,10 +1612,9 @@ void SwChartDataProvider::AddRowCols(
// iterate over all data-sequences for the table
const Set_DataSequenceRef_t &rSet = aDataSequences[ &rTable ];
- Set_DataSequenceRef_t::const_iterator aIt( rSet.begin() );
- while (aIt != rSet.end())
+ for (const auto& rItem : rSet)
{
- uno::Reference< chart2::data::XDataSequence > xTemp(*aIt); // temporary needed for g++ 3.3.5
+ uno::Reference< chart2::data::XDataSequence > xTemp(rItem); // temporary needed for g++ 3.3.5
uno::Reference< chart2::data::XTextualDataSequence > xRef( xTemp, uno::UNO_QUERY );
if (xRef.is())
{
@@ -1658,7 +1650,6 @@ void SwChartDataProvider::AddRowCols(
}
}
}
- ++aIt;
}
}
diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx
index 9f2eae93fbed..ab2bae1d8aeb 100644
--- a/sw/source/core/unocore/unoidx.cxx
+++ b/sw/source/core/unocore/unoidx.cxx
@@ -2933,17 +2933,15 @@ SwXDocumentIndex::TokenAccess_Impl::getByIndex(sal_Int32 nIndex)
// #i21237#
SwFormTokens aPattern = rTOXBase.GetTOXForm().
GetPattern(static_cast<sal_uInt16>(nIndex));
- SwFormTokens::iterator aIt = aPattern.begin();
sal_Int32 nTokenCount = 0;
uno::Sequence< beans::PropertyValues > aRetSeq;
OUString aProgCharStyle;
- while(aIt != aPattern.end()) // #i21237#
+ for(const SwFormToken& aToken : aPattern) // #i21237#
{
nTokenCount++;
aRetSeq.realloc(nTokenCount);
beans::PropertyValues* pTokenProps = aRetSeq.getArray();
- SwFormToken aToken = *aIt; // #i21237#
uno::Sequence< beans::PropertyValue >& rCurTokenSeq =
pTokenProps[nTokenCount-1];
@@ -3157,8 +3155,6 @@ SwXDocumentIndex::TokenAccess_Impl::getByIndex(sal_Int32 nIndex)
default:
;
}
-
- ++aIt; // #i21237#
}
uno::Any aRet;
diff --git a/sw/source/core/unocore/unosrch.cxx b/sw/source/core/unocore/unosrch.cxx
index 62aaccb29819..87f342d231d2 100644
--- a/sw/source/core/unocore/unosrch.cxx
+++ b/sw/source/core/unocore/unosrch.cxx
@@ -80,15 +80,12 @@ void SwSearchProperties_Impl::SetProperties(const uno::Sequence< beans::Property
const sal_uInt32 nLen = aSearchAttribs.getLength();
for(sal_uInt32 i = 0; i < nLen; ++i)
{
- sal_uInt32 nIndex = 0;
- PropertyEntryVector_t::const_iterator aIt = aPropertyEntries.begin();
- while(pProps[i].Name != aIt->sName)
- {
- ++aIt;
- nIndex++;
- if( aIt == aPropertyEntries.end() )
- throw beans::UnknownPropertyException();
- }
+ const OUString& sName = pProps[i].Name;
+ auto aIt = std::find_if(aPropertyEntries.begin(), aPropertyEntries.end(),
+ [&sName](const SfxItemPropertyNamedEntry& rProp) { return rProp.sName == sName; });
+ if( aIt == aPropertyEntries.end() )
+ throw beans::UnknownPropertyException();
+ auto nIndex = static_cast<sal_uInt32>(std::distance(aPropertyEntries.begin(), aIt));
pValueArr[nIndex].reset( new beans::PropertyValue(pProps[i]) );
}
}
diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx
index 35a3eaefda8c..55500a7eab90 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -4249,17 +4249,15 @@ uno::Sequence< beans::PropertyValue > SwXAutoStyle::getProperties()
// TODO: Optimize - and fix! the old iteration filled each WhichId
// only once but there are more properties than WhichIds
- PropertyEntryVector_t::const_iterator aIt = aPropVector.begin();
- while( aIt != aPropVector.end() )
+ for( const auto& rProp : aPropVector )
{
- if ( aIt->nWID == nWID )
+ if ( rProp.nWID == nWID )
{
beans::PropertyValue aPropertyValue;
- aPropertyValue.Name = aIt->sName;
- pItem->QueryValue( aPropertyValue.Value, aIt->nMemberId );
+ aPropertyValue.Name = rProp.sName;
+ pItem->QueryValue( aPropertyValue.Value, rProp.nMemberId );
aPropertyVector.push_back( aPropertyValue );
}
- ++aIt;
}
pItem = aIter.NextItem();
}
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 4f38a4d4041e..31f7c64712fb 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -1871,9 +1871,9 @@ void SwViewShell::Paint(vcl::RenderContext& rRenderContext, const tools::Rectang
RectangleVector aRectangles;
aRegion.GetRegionRectangles(aRectangles);
- for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
+ for(const auto& rRectangle : aRectangles)
{
- Imp()->AddPaintRect(*aRectIter);
+ Imp()->AddPaintRect(rRectangle);
}
//RegionHandle hHdl( aRegion.BeginEnumRects() );
More information about the Libreoffice-commits
mailing list