[Libreoffice-commits] core.git: sc/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Jan 24 07:35:41 UTC 2019
sc/source/filter/html/htmlexp.cxx | 3 -
sc/source/filter/html/htmlpars.cxx | 78 +++++++++++----------------
sc/source/filter/lotus/lotattr.cxx | 7 +-
sc/source/filter/lotus/tool.cxx | 73 +++++++++++--------------
sc/source/filter/oox/addressconverter.cxx | 8 +-
sc/source/filter/oox/autofilterbuffer.cxx | 27 +++++----
sc/source/filter/oox/condformatbuffer.cxx | 26 +++------
sc/source/filter/oox/connectionsbuffer.cxx | 4 -
sc/source/filter/oox/defnamesbuffer.cxx | 3 -
sc/source/filter/oox/excelchartconverter.cxx | 7 +-
sc/source/filter/oox/externallinkbuffer.cxx | 8 +-
sc/source/filter/oox/formulabase.cxx | 3 -
sc/source/filter/oox/formulaparser.cxx | 12 ++--
sc/source/filter/oox/numberformatsbuffer.cxx | 8 +-
sc/source/filter/oox/pivotcachebuffer.cxx | 54 +++++++++++-------
sc/source/filter/oox/pivottablebuffer.cxx | 67 ++++++++++++-----------
sc/source/filter/oox/querytablebuffer.cxx | 10 +--
sc/source/filter/oox/revisionfragment.cxx | 6 --
sc/source/filter/oox/richstring.cxx | 12 ++--
sc/source/filter/oox/scenariobuffer.cxx | 14 ++--
sc/source/filter/oox/sheetdatabuffer.cxx | 74 ++++++++++++-------------
sc/source/filter/oox/stylesbuffer.cxx | 20 +++---
sc/source/filter/oox/tablebuffer.cxx | 4 -
sc/source/filter/oox/tablecolumnsbuffer.cxx | 6 +-
sc/source/filter/oox/viewsettings.cxx | 4 -
sc/source/filter/oox/workbookfragment.cxx | 17 ++---
sc/source/filter/oox/worksheetfragment.cxx | 12 ++--
sc/source/filter/orcus/xmlcontext.cxx | 59 +++++++-------------
28 files changed, 303 insertions(+), 323 deletions(-)
New commits:
commit 72b8f54270877726d821d3f01225d8238c9d46ed
Author: Arkadiy Illarionov <qarkai at gmail.com>
AuthorDate: Thu Jan 24 00:27:42 2019 +0300
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Jan 24 08:35:12 2019 +0100
Simplify containers iterations in sc/source/filter/[h-o]*
Use range-based loop or replace with STL functions
Change-Id: I7e024d5bf97d942b8b43465e0779cf9e30df8eb0
Reviewed-on: https://gerrit.libreoffice.org/66827
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx
index f669074ba372..9715fa9299ed 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -1209,9 +1209,8 @@ bool ScHTMLExport::WriteFieldText( const EditTextObject* pData )
std::vector<sal_Int32> aPortions;
rEngine.GetPortions( nPar, aPortions );
sal_Int32 nStart = 0;
- for ( std::vector<sal_Int32>::const_iterator it(aPortions.begin()); it != aPortions.end(); ++it )
+ for ( const sal_Int32 nEnd : aPortions )
{
- sal_Int32 nEnd = *it;
ESelection aSel( nPar, nStart, nPar, nEnd );
bool bUrl = false;
// fields are single characters
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index eb6136b89cbd..5749949006d4 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -231,8 +231,8 @@ ScHTMLLayoutParser::~ScHTMLLayoutParser()
delete pLocalColOffset;
if ( pTables )
{
- for( OuterMap::const_iterator it = pTables->begin(); it != pTables->end(); ++it)
- delete it->second;
+ for( const auto& rEntry : *pTables)
+ delete rEntry.second;
pTables.reset();
}
}
@@ -1831,16 +1831,15 @@ ScHTMLTable::ScHTMLTable( ScHTMLTable& rParentTable, const HtmlImportInfo& rInfo
{
ProcessFormatOptions( maTableItemSet, rInfo );
const HTMLOptions& rOptions = static_cast<HTMLParser*>(rInfo.pParser)->GetOptions();
- HTMLOptions::const_iterator itr = rOptions.begin(), itrEnd = rOptions.end();
- for (; itr != itrEnd; ++itr)
+ for (const auto& rOption : rOptions)
{
- switch( itr->GetToken() )
+ switch( rOption.GetToken() )
{
case HtmlOptionId::BORDER:
- mbBorderOn = itr->GetString().isEmpty() || (itr->GetNumber() != 0);
+ mbBorderOn = rOption.GetString().isEmpty() || (rOption.GetNumber() != 0);
break;
case HtmlOptionId::ID:
- maTableName = itr->GetString();
+ maTableName = rOption.GetString();
break;
default: break;
}
@@ -2055,29 +2054,28 @@ void ScHTMLTable::DataOn( const HtmlImportInfo& rInfo )
ScHTMLSize aSpanSize( 1, 1 );
boost::optional<OUString> pValStr, pNumStr;
const HTMLOptions& rOptions = static_cast<HTMLParser*>(rInfo.pParser)->GetOptions();
- HTMLOptions::const_iterator itr = rOptions.begin(), itrEnd = rOptions.end();
sal_uInt32 nNumberFormat = NUMBERFORMAT_ENTRY_NOT_FOUND;
- for (; itr != itrEnd; ++itr)
+ for (const auto& rOption : rOptions)
{
- switch (itr->GetToken())
+ switch (rOption.GetToken())
{
case HtmlOptionId::COLSPAN:
- aSpanSize.mnCols = static_cast<SCCOL>( getLimitedValue<sal_Int32>( itr->GetString().toInt32(), 1, 256 ) );
+ aSpanSize.mnCols = static_cast<SCCOL>( getLimitedValue<sal_Int32>( rOption.GetString().toInt32(), 1, 256 ) );
break;
case HtmlOptionId::ROWSPAN:
- aSpanSize.mnRows = static_cast<SCROW>( getLimitedValue<sal_Int32>( itr->GetString().toInt32(), 1, 256 ) );
+ aSpanSize.mnRows = static_cast<SCROW>( getLimitedValue<sal_Int32>( rOption.GetString().toInt32(), 1, 256 ) );
break;
case HtmlOptionId::SDVAL:
- pValStr = itr->GetString();
+ pValStr = rOption.GetString();
break;
case HtmlOptionId::SDNUM:
- pNumStr = itr->GetString();
+ pNumStr = rOption.GetString();
break;
case HtmlOptionId::CLASS:
{
// Pick up the number format associated with this class (if
// any).
- OUString aClass = itr->GetString();
+ OUString aClass = rOption.GetString();
const ScHTMLStyles& rStyles = mpParser->GetStyles();
const OUString& rVal = rStyles.getPropertyValue("td", aClass, "mso-number-format");
if (!rVal.isEmpty())
@@ -2477,15 +2475,14 @@ void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportIn
}
const HTMLOptions& rOptions = static_cast<HTMLParser*>(rInfo.pParser)->GetOptions();
- HTMLOptions::const_iterator itr = rOptions.begin(), itrEnd = rOptions.end();
- for (; itr != itrEnd; ++itr)
+ for (const auto& rOption : rOptions)
{
- switch( itr->GetToken() )
+ switch( rOption.GetToken() )
{
case HtmlOptionId::ALIGN:
{
SvxCellHorJustify eVal = SvxCellHorJustify::Standard;
- const OUString& rOptVal = itr->GetString();
+ const OUString& rOptVal = rOption.GetString();
if( rOptVal.equalsIgnoreAsciiCase( OOO_STRING_SVTOOLS_HTML_AL_right ) )
eVal = SvxCellHorJustify::Right;
else if( rOptVal.equalsIgnoreAsciiCase( OOO_STRING_SVTOOLS_HTML_AL_center ) )
@@ -2500,7 +2497,7 @@ void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportIn
case HtmlOptionId::VALIGN:
{
SvxCellVerJustify eVal = SvxCellVerJustify::Standard;
- const OUString& rOptVal = itr->GetString();
+ const OUString& rOptVal = rOption.GetString();
if( rOptVal.equalsIgnoreAsciiCase( OOO_STRING_SVTOOLS_HTML_VA_top ) )
eVal = SvxCellVerJustify::Top;
else if( rOptVal.equalsIgnoreAsciiCase( OOO_STRING_SVTOOLS_HTML_VA_middle ) )
@@ -2515,7 +2512,7 @@ void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportIn
case HtmlOptionId::BGCOLOR:
{
Color aColor;
- itr->GetColor( aColor );
+ rOption.GetColor( aColor );
rItemSet.Put( SvxBrushItem( aColor, ATTR_BACKGROUND ) );
}
break;
@@ -2536,8 +2533,7 @@ void ScHTMLTable::SetDocSize( ScHTMLOrient eOrient, SCCOLROW nCellPos, SCCOLROW
// #i109987# only grow, don't shrink - use the largest needed size
SCCOLROW nDiff = nSize - ((nIndex == 0) ? rSizes.front() : (rSizes[ nIndex ] - rSizes[ nIndex - 1 ]));
if( nDiff > 0 )
- for( ScSizeVec::iterator aIt = rSizes.begin() + nIndex, aEnd = rSizes.end(); aIt != aEnd; ++aIt )
- *aIt += nDiff;
+ std::for_each(rSizes.begin() + nIndex, rSizes.end(), [&nDiff](SCCOLROW& rSize) { rSize += nDiff; });
}
void ScHTMLTable::CalcNeededDocSize(
@@ -2606,16 +2602,10 @@ void ScHTMLTable::RecalcDocSize()
for( sal_uInt16 nPass = PASS_SINGLE; nPass <= PASS_SPANNED; ++nPass )
{
// iterate through every table cell
- ScHTMLEntryMap::const_iterator aMapIterEnd = maEntryMap.end();
- for( ScHTMLEntryMap::const_iterator aMapIter = maEntryMap.begin(); aMapIter != aMapIterEnd; ++aMapIter )
+ for( const auto& [rCellPos, rEntryVector] : maEntryMap )
{
- const ScHTMLPos& rCellPos = aMapIter->first;
ScHTMLSize aCellSpan = GetSpan( rCellPos );
- const ScHTMLEntryVector& rEntryVector = aMapIter->second;
- ScHTMLEntryVector::const_iterator aVectorIter;
- ScHTMLEntryVector::const_iterator aVectorIterEnd = rEntryVector.end();
-
// process the dimension of the current cell in this pass?
// (pass is single and span is 1) or (pass is not single and span is not 1)
bool bProcessColWidth = ((nPass == PASS_SINGLE) == (aCellSpan.mnCols == 1));
@@ -2625,9 +2615,9 @@ void ScHTMLTable::RecalcDocSize()
ScHTMLSize aDocSize( 1, 0 ); // resulting size of the cell in document
// expand the cell size for each cell parse entry
- for( aVectorIter = rEntryVector.begin(); aVectorIter != aVectorIterEnd; ++aVectorIter )
+ for( const auto& rpEntry : rEntryVector )
{
- ScHTMLTable* pTable = GetExistingTable( (*aVectorIter)->GetTableId() );
+ ScHTMLTable* pTable = GetExistingTable( rpEntry->GetTableId() );
// find entry with maximum width
if( bProcessColWidth && pTable )
aDocSize.mnCols = std::max( aDocSize.mnCols, static_cast< SCCOL >( pTable->GetDocSize( tdCol ) ) );
@@ -2653,23 +2643,20 @@ void ScHTMLTable::RecalcDocPos( const ScHTMLPos& rBasePos )
// after the previous assignment it is allowed to call GetDocPos() methods
// iterate through every table cell
- ScHTMLEntryMap::iterator aMapIterEnd = maEntryMap.end();
- for( ScHTMLEntryMap::iterator aMapIter = maEntryMap.begin(); aMapIter != aMapIterEnd; ++aMapIter )
+ for( auto& [rCellPos, rEntryVector] : maEntryMap )
{
// fixed doc position of the entire cell (first entry)
- const ScHTMLPos aCellDocPos( GetDocPos( aMapIter->first ) );
+ const ScHTMLPos aCellDocPos( GetDocPos( rCellPos ) );
// fixed doc size of the entire cell
- const ScHTMLSize aCellDocSize( GetDocSize( aMapIter->first ) );
+ const ScHTMLSize aCellDocSize( GetDocSize( rCellPos ) );
// running doc position for single entries
ScHTMLPos aEntryDocPos( aCellDocPos );
- ScHTMLEntryVector& rEntryVector = aMapIter->second;
ScHTMLEntry* pEntry = nullptr;
- ScHTMLEntryVector::iterator aVectorIterEnd = rEntryVector.end();
- for( ScHTMLEntryVector::iterator aVectorIter = rEntryVector.begin(); aVectorIter != aVectorIterEnd; ++aVectorIter )
+ for( const auto& rpEntry : rEntryVector )
{
- pEntry = *aVectorIter;
+ pEntry = rpEntry;
if( ScHTMLTable* pTable = GetExistingTable( pEntry->GetTableId() ) )
{
pTable->RecalcDocPos( aEntryDocPos ); // recalc nested table
@@ -2903,14 +2890,13 @@ void ScHTMLQueryParser::InsertText( const HtmlImportInfo& rInfo )
void ScHTMLQueryParser::FontOn( const HtmlImportInfo& rInfo )
{
const HTMLOptions& rOptions = static_cast<HTMLParser*>(rInfo.pParser)->GetOptions();
- HTMLOptions::const_iterator itr = rOptions.begin(), itrEnd = rOptions.end();
- for (; itr != itrEnd; ++itr)
+ for (const auto& rOption : rOptions)
{
- switch( itr->GetToken() )
+ switch( rOption.GetToken() )
{
case HtmlOptionId::FACE :
{
- const OUString& rFace = itr->GetString();
+ const OUString& rFace = rOption.GetString();
OUString aFontName;
sal_Int32 nPos = 0;
while( nPos != -1 )
@@ -2927,14 +2913,14 @@ void ScHTMLQueryParser::FontOn( const HtmlImportInfo& rInfo )
break;
case HtmlOptionId::SIZE :
{
- sal_uInt32 nSize = getLimitedValue< sal_uInt32 >( itr->GetNumber(), 1, SC_HTML_FONTSIZES );
+ sal_uInt32 nSize = getLimitedValue< sal_uInt32 >( rOption.GetNumber(), 1, SC_HTML_FONTSIZES );
mpCurrTable->PutItem( SvxFontHeightItem( maFontHeights[ nSize - 1 ], 100, ATTR_FONT_HEIGHT ) );
}
break;
case HtmlOptionId::COLOR :
{
Color aColor;
- itr->GetColor( aColor );
+ rOption.GetColor( aColor );
mpCurrTable->PutItem( SvxColorItem( aColor, ATTR_FONT_COLOR ) );
}
break;
diff --git a/sc/source/filter/lotus/lotattr.cxx b/sc/source/filter/lotus/lotattr.cxx
index 8c04bfe18ff3..2333ce127f85 100644
--- a/sc/source/filter/lotus/lotattr.cxx
+++ b/sc/source/filter/lotus/lotattr.cxx
@@ -214,11 +214,10 @@ void LotAttrCol::Apply(LOTUS_ROOT* pLotusRoot, const SCCOL nColNum, const SCTAB
{
ScDocument* pDoc = pLotusRoot->pDoc;
- std::vector<std::unique_ptr<ENTRY> >::iterator iter;
- for (iter = aEntries.begin(); iter != aEntries.end(); ++iter)
+ for (const auto& rxEntry : aEntries)
{
- pDoc->ApplyPatternAreaTab(nColNum, (*iter)->nFirstRow, nColNum, (*iter)->nLastRow,
- nTabNum, *((*iter)->pPattAttr));
+ pDoc->ApplyPatternAreaTab(nColNum, rxEntry->nFirstRow, nColNum, rxEntry->nLastRow,
+ nTabNum, *(rxEntry->pPattAttr));
}
}
diff --git a/sc/source/filter/lotus/tool.cxx b/sc/source/filter/lotus/tool.cxx
index b7082fcff900..11063f0c2bd0 100644
--- a/sc/source/filter/lotus/tool.cxx
+++ b/sc/source/filter/lotus/tool.cxx
@@ -386,19 +386,16 @@ LotusRangeList::LotusRangeList()
LotusRangeList::~LotusRangeList ()
{
- std::vector<LotusRange*>::iterator pIter;
- for (pIter = maRanges.begin(); pIter != maRanges.end(); ++pIter)
- delete *pIter;
+ for (const auto& rpRange : maRanges)
+ delete rpRange;
}
LR_ID LotusRangeList::GetIndex( const LotusRange &rRef )
{
- std::vector<LotusRange*>::iterator pIter;
- for (pIter = maRanges.begin(); pIter != maRanges.end(); ++pIter)
- {
- if (rRef == *(*pIter))
- return (*pIter)->nId;
- }
+ std::vector<LotusRange*>::iterator pIter = std::find_if(maRanges.begin(), maRanges.end(),
+ [&rRef](const LotusRange* pRange) { return rRef == *pRange; });
+ if (pIter != maRanges.end())
+ return (*pIter)->nId;
return ID_FAIL;
}
@@ -471,14 +468,12 @@ bool RangeNameBufferWK3::FindRel( const OUString& rRef, sal_uInt16& rIndex )
{
StringHashEntry aRef( rRef );
- std::vector<Entry>::const_iterator itr;
- for ( itr = maEntries.begin(); itr != maEntries.end(); ++itr )
+ std::vector<Entry>::const_iterator itr = std::find_if(maEntries.begin(), maEntries.end(),
+ [&aRef](const Entry& rEntry) { return aRef == rEntry.aStrHashEntry; });
+ if (itr != maEntries.end())
{
- if ( aRef == itr->aStrHashEntry )
- {
- rIndex = itr->nRelInd;
- return true;
- }
+ rIndex = itr->nRelInd;
+ return true;
}
return false;
@@ -490,40 +485,38 @@ bool RangeNameBufferWK3::FindAbs( const OUString& rRef, sal_uInt16& rIndex )
aTmp = aTmp.copy(1);
StringHashEntry aRef( aTmp ); // search w/o '$'!
- std::vector<Entry>::iterator itr;
- for ( itr = maEntries.begin(); itr != maEntries.end(); ++itr )
+ std::vector<Entry>::iterator itr = std::find_if(maEntries.begin(), maEntries.end(),
+ [&aRef](const Entry& rEntry) { return aRef == rEntry.aStrHashEntry; });
+ if (itr != maEntries.end())
{
- if ( aRef == itr->aStrHashEntry )
+ // setup new range if needed
+ if( itr->nAbsInd )
+ rIndex = itr->nAbsInd;
+ else
{
- // setup new range if needed
- if( itr->nAbsInd )
- rIndex = itr->nAbsInd;
+ ScSingleRefData* pRef = &itr->aScComplexRefDataRel.Ref1;
+ pScTokenArray->Clear();
+
+ pRef->SetColRel( false );
+ pRef->SetRowRel( false );
+ pRef->SetTabRel( true );
+
+ if( itr->bSingleRef )
+ pScTokenArray->AddSingleReference( *pRef );
else
{
- ScSingleRefData* pRef = &itr->aScComplexRefDataRel.Ref1;
- pScTokenArray->Clear();
-
+ pRef = &itr->aScComplexRefDataRel.Ref2;
pRef->SetColRel( false );
pRef->SetRowRel( false );
pRef->SetTabRel( true );
-
- if( itr->bSingleRef )
- pScTokenArray->AddSingleReference( *pRef );
- else
- {
- pRef = &itr->aScComplexRefDataRel.Ref2;
- pRef->SetColRel( false );
- pRef->SetRowRel( false );
- pRef->SetTabRel( true );
- pScTokenArray->AddDoubleReference( itr->aScComplexRefDataRel );
- }
-
- rIndex = itr->nAbsInd = nIntCount;
- nIntCount++;
+ pScTokenArray->AddDoubleReference( itr->aScComplexRefDataRel );
}
- return true;
+ rIndex = itr->nAbsInd = nIntCount;
+ nIntCount++;
}
+
+ return true;
}
return false;
diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx
index 196c6ad4d88c..2abc37307f90 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -65,8 +65,8 @@ void BinRangeList::read( SequenceInputStream& rStrm )
{
sal_Int32 nCount = rStrm.readInt32();
mvRanges.resize( getLimitedValue< size_t, sal_Int64 >( nCount, 0, rStrm.getRemaining() / 16 ) );
- for( ::std::vector< BinRange >::iterator aIt = mvRanges.begin(), aEnd = mvRanges.end(); aIt != aEnd; ++aIt )
- aIt->read( rStrm );
+ for( auto& rRange : mvRanges )
+ rRange.read( rStrm );
}
AddressConverter::AddressConverter( const WorkbookHelper& rHelper ) :
@@ -440,8 +440,8 @@ void AddressConverter::convertToCellRangeList( ScRangeList& orRanges,
const BinRangeList& rBinRanges, sal_Int16 nSheet, bool bTrackOverflow )
{
ScRange aRange;
- for( ::std::vector< BinRange >::const_iterator aIt = rBinRanges.begin(), aEnd = rBinRanges.end(); aIt != aEnd; ++aIt )
- if( convertToCellRange( aRange, *aIt, nSheet, true, bTrackOverflow ) )
+ for( const auto& rBinRange : rBinRanges )
+ if( convertToCellRange( aRange, rBinRange, nSheet, true, bTrackOverflow ) )
orRanges.push_back( aRange );
}
diff --git a/sc/source/filter/oox/autofilterbuffer.cxx b/sc/source/filter/oox/autofilterbuffer.cxx
index 3f9a3088bb08..9e53200092ce 100644
--- a/sc/source/filter/oox/autofilterbuffer.cxx
+++ b/sc/source/filter/oox/autofilterbuffer.cxx
@@ -423,18 +423,18 @@ ApiFilterSettings CustomFilter::finalizeImport( sal_Int32 /*nMaxCount*/ )
{
ApiFilterSettings aSettings;
OSL_ENSURE( maCriteria.size() <= 2, "CustomFilter::finalizeImport - too many filter criteria" );
- for( FilterCriterionVector::iterator aIt = maCriteria.begin(), aEnd = maCriteria.end(); aIt != aEnd; ++aIt )
+ for( const auto& rCriterion : maCriteria )
{
// first extract the filter operator
sal_Int32 nOperator = 0;
- bool bValidOperator = lclGetApiOperatorFromToken( nOperator, aIt->mnOperator );
+ bool bValidOperator = lclGetApiOperatorFromToken( nOperator, rCriterion.mnOperator );
if( bValidOperator )
{
- if( aIt->maValue.has< OUString >() )
+ if( rCriterion.maValue.has< OUString >() )
{
// string argument
OUString aValue;
- aIt->maValue >>= aValue;
+ rCriterion.maValue >>= aValue;
// check for 'empty', 'contains', 'begins with', or 'ends with' text filters
bool bEqual = nOperator == FilterOperator2::EQUAL;
bool bNotEqual = nOperator == FilterOperator2::NOT_EQUAL;
@@ -474,11 +474,11 @@ ApiFilterSettings CustomFilter::finalizeImport( sal_Int32 /*nMaxCount*/ )
aSettings.appendField( mbAnd, nOperator, aValue );
}
}
- else if( aIt->maValue.has< double >() )
+ else if( rCriterion.maValue.has< double >() )
{
// floating-point argument
double fValue = 0.0;
- aIt->maValue >>= fValue;
+ rCriterion.maValue >>= fValue;
aSettings.appendField( mbAnd, nOperator, fValue );
}
}
@@ -524,8 +524,8 @@ ApiFilterSettings FilterColumn::finalizeImport( sal_Int32 nMaxCount )
// filter settings object creates a sequence of filter fields
aSettings = mxSettings->finalizeImport( nMaxCount );
// add column index to all filter fields
- for( ApiFilterSettings::FilterFieldVector::iterator aIt = aSettings.maFilterFields.begin(), aEnd = aSettings.maFilterFields.end(); aIt != aEnd; ++aIt )
- aIt->Field = mnColId;
+ for( auto& rFilterField : aSettings.maFilterFields )
+ rFilterField.Field = mnColId;
}
return aSettings;
}
@@ -588,10 +588,10 @@ void AutoFilter::finalizeImport( const Reference<XSheetFilterDescriptor3>& rxFil
bool bHasOrConnection = false;
// process all filter column objects, exit when 'or' connection exists
- for( FilterColumnVector::iterator aIt = maFilterColumns.begin(), aEnd = maFilterColumns.end(); !bHasOrConnection && (aIt != aEnd); ++aIt )
+ for( const auto& rxFilterColumn : maFilterColumns )
{
// the filter settings object creates a list of filter fields
- ApiFilterSettings aSettings = (*aIt)->finalizeImport( nMaxCount );
+ ApiFilterSettings aSettings = rxFilterColumn->finalizeImport( nMaxCount );
ApiFilterSettings::FilterFieldVector& rColumnFields = aSettings.maFilterFields;
// new total number of filter fields
@@ -605,8 +605,8 @@ void AutoFilter::finalizeImport( const Reference<XSheetFilterDescriptor3>& rxFil
// check whether fields are connected by 'or' (see comments above).
if( rColumnFields.size() >= 2 )
- for( ApiFilterSettings::FilterFieldVector::iterator aSIt = rColumnFields.begin() + 1, aSEnd = rColumnFields.end(); !bHasOrConnection && (aSIt != aSEnd); ++aSIt )
- bHasOrConnection = aSIt->Connection == FilterConnection_OR;
+ bHasOrConnection = std::any_of(rColumnFields.begin() + 1, rColumnFields.end(),
+ [](const css::sheet::TableFilterField3& rColumnField) { return rColumnField.Connection == FilterConnection_OR; });
/* Skip the column filter, if no filter fields have been created,
if the number of new filter fields would exceed the total limit
@@ -624,6 +624,9 @@ void AutoFilter::finalizeImport( const Reference<XSheetFilterDescriptor3>& rxFil
// update the regular expressions mode
obNeedsRegExp.assignIfUsed( aSettings.mobNeedsRegExp );
}
+
+ if( bHasOrConnection )
+ break;
}
// insert all filter fields to the filter descriptor
diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx
index 3b8bb65d6bce..a189008afb76 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -1094,26 +1094,22 @@ ScConditionalFormat* findFormatByRange(const ScRangeList& rRange, const ScDocume
void CondFormatBuffer::finalizeImport()
{
- CondFormatVec::iterator it = maCondFormats.begin();
- CondFormatVec::iterator it_end = maCondFormats.end();
- for( ; it != it_end; ++it )
+ for( const auto& rxCondFormat : maCondFormats )
{
- if ( (*it).get() )
- (*it).get()->finalizeImport();
+ if ( rxCondFormat.get() )
+ rxCondFormat.get()->finalizeImport();
}
- ExtCfDataBarRuleVec::iterator ext_it = maCfRules.begin();
- ExtCfDataBarRuleVec::iterator ext_end = maCfRules.end();
- for ( ; ext_it != ext_end; ++ext_it )
+ for ( const auto& rxCfRule : maCfRules )
{
- if ( (*ext_it).get() )
- (*ext_it).get()->finalizeImport();
+ if ( rxCfRule.get() )
+ rxCfRule.get()->finalizeImport();
}
- for (auto itr = maExtCondFormats.begin(); itr != maExtCondFormats.end(); ++itr)
+ for (const auto& rxExtCondFormat : maExtCondFormats)
{
ScDocument* pDoc = &getScDocument();
- const ScRangeList& rRange = (*itr)->getRange();
+ const ScRangeList& rRange = rxExtCondFormat->getRange();
SCTAB nTab = rRange.front().aStart.Tab();
ScConditionalFormat* pFormat = findFormatByRange(rRange, pDoc, nTab);
if (!pFormat)
@@ -1125,10 +1121,10 @@ void CondFormatBuffer::finalizeImport()
pDoc->AddCondFormatData(rRange, nTab, nKey);
}
- const std::vector< std::unique_ptr<ScFormatEntry> >& rEntries = (*itr)->getEntries();
- for (auto i = rEntries.begin(); i != rEntries.end(); ++i)
+ const std::vector< std::unique_ptr<ScFormatEntry> >& rEntries = rxExtCondFormat->getEntries();
+ for (const auto& rxEntry : rEntries)
{
- pFormat->AddEntry((*i)->Clone(pDoc));
+ pFormat->AddEntry(rxEntry->Clone(pDoc));
}
}
}
diff --git a/sc/source/filter/oox/connectionsbuffer.cxx b/sc/source/filter/oox/connectionsbuffer.cxx
index 4aef1f8e45de..4433b69abe71 100644
--- a/sc/source/filter/oox/connectionsbuffer.cxx
+++ b/sc/source/filter/oox/connectionsbuffer.cxx
@@ -291,8 +291,8 @@ Connection& ConnectionsBuffer::createConnection()
void ConnectionsBuffer::finalizeImport()
{
- for( ConnectionVector::iterator aIt = maConnections.begin(), aEnd = maConnections.end(); aIt != aEnd; ++aIt )
- insertConnectionToMap( *aIt );
+ for( const auto& rxConnection : maConnections )
+ insertConnectionToMap( rxConnection );
}
ConnectionRef ConnectionsBuffer::getConnection( sal_Int32 nConnId ) const
diff --git a/sc/source/filter/oox/defnamesbuffer.cxx b/sc/source/filter/oox/defnamesbuffer.cxx
index 1fd80b42a952..182be74080e1 100644
--- a/sc/source/filter/oox/defnamesbuffer.cxx
+++ b/sc/source/filter/oox/defnamesbuffer.cxx
@@ -351,9 +351,8 @@ void DefinedNamesBuffer::finalizeImport()
{
// first insert all names without formula definition into the document, and insert them into the maps
int index = 0;
- for( DefNameVector::iterator aIt = maDefNames.begin(), aEnd = maDefNames.end(); aIt != aEnd; ++aIt )
+ for( DefinedNameRef& xDefName : maDefNames )
{
- DefinedNameRef xDefName = *aIt;
xDefName->createNameObject( ++index );
// map by sheet index and original model name
maModelNameMap[ SheetNameKey( xDefName->getLocalCalcSheet(), xDefName->getUpcaseModelName() ) ] = xDefName;
diff --git a/sc/source/filter/oox/excelchartconverter.cxx b/sc/source/filter/oox/excelchartconverter.cxx
index 64b318fdacd0..bc5b74690f3a 100644
--- a/sc/source/filter/oox/excelchartconverter.cxx
+++ b/sc/source/filter/oox/excelchartconverter.cxx
@@ -97,8 +97,11 @@ Reference< XDataSequence > ExcelChartConverter::createDataSequence(
Matrix< Any > aMatrix( rDataSeq.maData.size(), 1 );
Matrix< Any >::iterator aMIt = aMatrix.begin();
// TODO: how to handle missing values in the map?
- for( DataSequenceModel::AnyMap::const_iterator aDIt = rDataSeq.maData.begin(), aDEnd = rDataSeq.maData.end(); aDIt != aDEnd; ++aDIt, ++aMIt )
- *aMIt = aDIt->second;
+ for( const auto& rEntry : rDataSeq.maData )
+ {
+ *aMIt = rEntry.second;
+ ++aMIt;
+ }
OUString aRangeRep = FormulaProcessorBase::generateApiArray( aMatrix );
if (!aRangeRep.isEmpty())
diff --git a/sc/source/filter/oox/externallinkbuffer.cxx b/sc/source/filter/oox/externallinkbuffer.cxx
index 6be609eca10b..152841b2c932 100644
--- a/sc/source/filter/oox/externallinkbuffer.cxx
+++ b/sc/source/filter/oox/externallinkbuffer.cxx
@@ -400,8 +400,8 @@ ExternalLinkInfo ExternalLink::getLinkInfo() const
aDdeLinkInfo.Topic = maTargetUrl;
::std::vector< DDEItemInfo > aItemInfos;
DDEItemInfo aItemInfo;
- for( ExternalNameVector::const_iterator aIt = maExtNames.begin(), aEnd = maExtNames.end(); aIt != aEnd; ++aIt )
- if( (*aIt)->getDdeItemInfo( aItemInfo ) )
+ for( const auto& rxExtName : maExtNames )
+ if( rxExtName->getDdeItemInfo( aItemInfo ) )
aItemInfos.push_back( aItemInfo );
aDdeLinkInfo.Items = ContainerHelper::vectorToSequence( aItemInfos );
aLinkInfo.Data <<= aDdeLinkInfo;
@@ -623,8 +623,8 @@ Sequence< ExternalLinkInfo > ExternalLinkBuffer::getLinkInfos() const
::std::vector< ExternalLinkInfo > aLinkInfos;
// add entry for implicit index 0 (self reference to this document)
aLinkInfos.push_back( mxSelfRef->getLinkInfo() );
- for( ExternalLinkVec::const_iterator aIt = maExtLinks.begin(), aEnd = maExtLinks.end(); aIt != aEnd; ++aIt )
- aLinkInfos.push_back( (*aIt)->getLinkInfo() );
+ for( const auto& rxExtLink : maExtLinks )
+ aLinkInfos.push_back( rxExtLink->getLinkInfo() );
return ContainerHelper::vectorToSequence( aLinkInfos );
}
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index 7872a03529d1..62633437c1cb 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -1371,9 +1371,8 @@ bool OpCodeProviderImpl::initFuncOpCode( FunctionInfo& orFuncInfo, const ApiToke
bool OpCodeProviderImpl::initFuncOpCodes( const ApiTokenMap& rIntFuncTokenMap, const ApiTokenMap& rExtFuncTokenMap, const FunctionInfoVector& rFuncInfos )
{
bool bIsValid = true;
- for( FunctionInfoVector::const_iterator aIt = rFuncInfos.begin(), aEnd = rFuncInfos.end(); aIt != aEnd; ++aIt )
+ for( const FunctionInfoRef& xFuncInfo : rFuncInfos )
{
- FunctionInfoRef xFuncInfo = *aIt;
// set API opcode from ODF function name
if (xFuncInfo->mbExternal)
bIsValid &= initFuncOpCode( *xFuncInfo, rExtFuncTokenMap );
diff --git a/sc/source/filter/oox/formulaparser.cxx b/sc/source/filter/oox/formulaparser.cxx
index 14c428105a43..4300e9cb469d 100644
--- a/sc/source/filter/oox/formulaparser.cxx
+++ b/sc/source/filter/oox/formulaparser.cxx
@@ -679,17 +679,17 @@ Any& FormulaParserImpl::insertRawToken( sal_Int32 nOpCode, size_t nIndexFromEnd
size_t FormulaParserImpl::appendWhiteSpaceTokens( const WhiteSpaceVec* pSpaces )
{
- if( pSpaces && !pSpaces->empty() )
- for( WhiteSpaceVec::const_iterator aIt = pSpaces->begin(), aEnd = pSpaces->end(); aIt != aEnd; ++aIt )
- appendRawToken( OPCODE_SPACES ) <<= aIt->first;
+ if( pSpaces )
+ for( const auto& rSpace : *pSpaces )
+ appendRawToken( OPCODE_SPACES ) <<= rSpace.first;
return pSpaces ? pSpaces->size() : 0;
}
size_t FormulaParserImpl::insertWhiteSpaceTokens( const WhiteSpaceVec* pSpaces, size_t nIndexFromEnd )
{
- if( pSpaces && !pSpaces->empty() )
- for( WhiteSpaceVec::const_iterator aIt = pSpaces->begin(), aEnd = pSpaces->end(); aIt != aEnd; ++aIt )
- insertRawToken( OPCODE_SPACES, nIndexFromEnd ) <<= aIt->first;
+ if( pSpaces )
+ for( const auto& rSpace : *pSpaces )
+ insertRawToken( OPCODE_SPACES, nIndexFromEnd ) <<= rSpace.first;
return pSpaces ? pSpaces->size() : 0;
}
diff --git a/sc/source/filter/oox/numberformatsbuffer.cxx b/sc/source/filter/oox/numberformatsbuffer.cxx
index 906bfdb068fa..2ca5a3dc88f2 100644
--- a/sc/source/filter/oox/numberformatsbuffer.cxx
+++ b/sc/source/filter/oox/numberformatsbuffer.cxx
@@ -2077,11 +2077,11 @@ void NumberFormatsBuffer::insertBuiltinFormats()
}
// copy reused number formats
- for( ReuseMap::const_iterator aRIt = aReuseMap.begin(), aREnd = aReuseMap.end(); aRIt != aREnd; ++aRIt )
+ for( const auto& [rNumFmtId, rReuseId] : aReuseMap )
{
- maNumFmts[ aRIt->first ] = maNumFmts[ aRIt->second ];
- if ( aRIt->first > mnHighestId )
- mnHighestId = aRIt->first;
+ maNumFmts[ rNumFmtId ] = maNumFmts[ rReuseId ];
+ if ( rNumFmtId > mnHighestId )
+ mnHighestId = rNumFmtId;
}
}
diff --git a/sc/source/filter/oox/pivotcachebuffer.cxx b/sc/source/filter/oox/pivotcachebuffer.cxx
index dc8366cdc65a..2adda9081355 100644
--- a/sc/source/filter/oox/pivotcachebuffer.cxx
+++ b/sc/source/filter/oox/pivotcachebuffer.cxx
@@ -303,10 +303,10 @@ const PivotCacheItem* PivotCacheItemList::getCacheItem( sal_Int32 nItemIdx ) con
void PivotCacheItemList::applyItemCaptions( const IdCaptionPairList& vCaptions )
{
- for( IdCaptionPairList::const_iterator aIt = vCaptions.begin(), aEnd = vCaptions.end(); aIt != aEnd; ++aIt )
+ for( const auto& [rId, rCaption] : vCaptions )
{
- if ( static_cast<sal_uInt32>( aIt->first ) < maItems.size() )
- maItems[ aIt->first ].setStringValue( aIt->second );
+ if ( static_cast<sal_uInt32>( rId ) < maItems.size() )
+ maItems[ rId ].setStringValue( rCaption );
}
}
@@ -314,8 +314,8 @@ void PivotCacheItemList::getCacheItemNames( ::std::vector< OUString >& orItemNam
{
orItemNames.clear();
orItemNames.reserve( maItems.size() );
- for( CacheItemVector::const_iterator aIt = maItems.begin(), aEnd = maItems.end(); aIt != aEnd; ++aIt )
- orItemNames.push_back( aIt->getName() );
+ for( const auto& rItem : maItems )
+ orItemNames.push_back( rItem.getName() );
}
// private --------------------------------------------------------------------
@@ -657,26 +657,29 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
// map the group item indexes from maGroupItems to all item indexes from maDiscreteItems
std::vector< std::vector<sal_Int32> > aItemMap( maGroupItems.size() );
- for( IndexVector::const_iterator aBeg = maDiscreteItems.begin(), aIt = aBeg, aEnd = maDiscreteItems.end(); aIt != aEnd; ++aIt )
+ sal_Int32 nIndex = -1;
+ for( const auto& rDiscreteItem : maDiscreteItems )
{
- if( std::vector<sal_Int32>* pItems = ContainerHelper::getVectorElementAccess( aItemMap, *aIt ) )
+ ++nIndex;
+ if( std::vector<sal_Int32>* pItems = ContainerHelper::getVectorElementAccess( aItemMap, rDiscreteItem ) )
{
- if ( const PivotCacheItem* pItem = rBaseCacheField.getCacheItems().getCacheItem( aIt - aBeg ) )
+ if ( const PivotCacheItem* pItem = rBaseCacheField.getCacheItems().getCacheItem( nIndex ) )
{
// Skip unspecified or unused entries or errors
if ( pItem->isUnused() || ( pItem->getType() == XML_m ) || ( pItem->getType() == XML_e ) )
continue;
}
- pItems->push_back( static_cast< sal_Int32 >( aIt - aBeg ) );
+ pItems->push_back( nIndex );
}
}
// process all groups
Reference< XDataPilotField > xDPGroupField;
- for( auto aBeg = aItemMap.begin(), aIt = aBeg, aEnd = aItemMap.end(); aIt != aEnd; ++aIt )
+ nIndex = 0;
+ for( const auto& rItems : aItemMap )
{
- SAL_WARN_IF( aIt->empty(), "sc", "PivotCacheField::createParentGroupField - item/group should not be empty" );
- if( !aIt->empty() )
+ SAL_WARN_IF( rItems.empty(), "sc", "PivotCacheField::createParentGroupField - item/group should not be empty" );
+ if( !rItems.empty() )
{
/* Insert the names of the items that are part of this group. Calc
expects the names of the members of the field whose members are
@@ -686,7 +689,7 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
names as they are already grouped is used here to resolve the
item names. */
::std::vector< OUString > aMembers;
- for( auto i : *aIt )
+ for( auto i : rItems )
if( const PivotCacheGroupItem* pName = ContainerHelper::getVectorElement( orItemNames, i ) )
if( ::std::find( aMembers.begin(), aMembers.end(), pName->maGroupName ) == aMembers.end() )
aMembers.push_back( pName->maGroupName );
@@ -717,7 +720,7 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
Therefore, a name from the passed list of original item
names is used to find the correct group. */
OUString aFirstItem;
- if( const PivotCacheGroupItem* pName = ContainerHelper::getVectorElement( orItemNames, aIt->front() ) )
+ if( const PivotCacheGroupItem* pName = ContainerHelper::getVectorElement( orItemNames, rItems.front() ) )
aFirstItem = pName->maOrigName;
Reference< XNamed > xGroupName;
OUString aAutoName;
@@ -739,7 +742,7 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
// get the real group name from the list of group items
OUString aGroupName;
- if( const PivotCacheItem* pGroupItem = maGroupItems.getCacheItem( static_cast< sal_Int32 >( aIt - aBeg ) ) )
+ if( const PivotCacheItem* pGroupItem = maGroupItems.getCacheItem( nIndex ) )
aGroupName = pGroupItem->getName();
SAL_WARN_IF( aGroupName.isEmpty(), "sc", "PivotCacheField::createParentGroupField - cannot find group name" );
if( aGroupName.isEmpty() )
@@ -754,7 +757,7 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
aPropSet.setProperty( PROP_GroupInfo, aGroupInfo );
}
// replace original item names in passed vector with group name
- for( auto i : *aIt )
+ for( auto i : rItems )
if( PivotCacheGroupItem* pName = ContainerHelper::getVectorElementAccess( orItemNames, i ) )
pName->maGroupName = aGroupName;
}
@@ -764,6 +767,7 @@ OUString PivotCacheField::createParentGroupField( const Reference< XDataPilotFie
SAL_WARN("sc", "PivotCacheField::createParentGroupField - exception was thrown" );
}
}
+ ++nIndex;
}
Reference< XNamed > xFieldName( xDPGroupField, UNO_QUERY );
@@ -1051,8 +1055,13 @@ void PivotCache::writeSourceHeaderCells( const WorksheetHelper& rSheetHelper ) c
SCROW nRow = maSheetSrcModel.maRange.aStart.Row();
mnCurrRow = -1;
updateSourceDataRow( rSheetHelper, nRow );
- for( PivotCacheFieldVector::const_iterator aIt = maDatabaseFields.begin(), aEnd = maDatabaseFields.end(); (aIt != aEnd) && (nCol <= nMaxCol); ++aIt, ++nCol )
- (*aIt)->writeSourceHeaderCell( rSheetHelper, nCol, nRow );
+ for( const auto& rxDatabaseField : maDatabaseFields )
+ {
+ if (nCol > nMaxCol)
+ break;
+ rxDatabaseField->writeSourceHeaderCell( rSheetHelper, nCol, nRow );
+ ++nCol;
+ }
}
void PivotCache::writeSourceDataCell( const WorksheetHelper& rSheetHelper, sal_Int32 nColIdx, sal_Int32 nRowIdx, const PivotCacheItem& rItem ) const
@@ -1072,8 +1081,13 @@ void PivotCache::importPCRecord( SequenceInputStream& rStrm, const WorksheetHelp
OSL_ENSURE( ( maSheetSrcModel.maRange.aStart.Row() < nRow ) && ( nRow <= maSheetSrcModel.maRange.aEnd.Row() ), "PivotCache::importPCRecord - invalid row index" );
SCCOL nCol = maSheetSrcModel.maRange.aStart.Col();
SCCOL nMaxCol = getAddressConverter().getMaxApiAddress().Col();
- for( PivotCacheFieldVector::const_iterator aIt = maDatabaseFields.begin(), aEnd = maDatabaseFields.end(); !rStrm.isEof() && (aIt != aEnd) && (nCol <= nMaxCol); ++aIt, ++nCol )
- (*aIt)->importPCRecordItem( rStrm, rSheetHelper, nCol, nRow );
+ for( const auto& rxDatabaseField : maDatabaseFields )
+ {
+ if( rStrm.isEof() || (nCol > nMaxCol) )
+ break;
+ rxDatabaseField->importPCRecordItem( rStrm, rSheetHelper, nCol, nRow );
+ ++nCol;
+ }
}
// private --------------------------------------------------------------------
diff --git a/sc/source/filter/oox/pivottablebuffer.cxx b/sc/source/filter/oox/pivottablebuffer.cxx
index 569a112d1074..b52ca269f0c9 100644
--- a/sc/source/filter/oox/pivottablebuffer.cxx
+++ b/sc/source/filter/oox/pivottablebuffer.cxx
@@ -413,8 +413,8 @@ void PivotTableField::finalizeImport( const Reference< XDataPilotDescriptor >& r
::std::vector< OUString > aItems;
pCacheField->getCacheItemNames( aItems );
PivotCacheGroupItemVector aItemNames;
- for( ::std::vector< OUString >::iterator aIt = aItems.begin(), aEnd = aItems.end(); aIt != aEnd; ++aIt )
- aItemNames.emplace_back( *aIt );
+ for( const auto& rItem : aItems )
+ aItemNames.emplace_back( rItem );
// create all nested group fields (if any)
mrPivotTable.finalizeParentGroupingImport( xDPField, *pCacheField, aItemNames );
}
@@ -450,10 +450,10 @@ void PivotTableField::finalizeParentGroupingImport( const Reference< XDataPilotF
// data field can have user defined groupname captions, apply them
// if they do
IdCaptionPairList captionList;
- for( ItemModelVector::iterator aIt = maItems.begin(), aEnd = maItems.end(); aIt != aEnd; ++aIt )
+ for( const auto& rItem : maItems )
{
- if ( aIt->mnType == XML_data && aIt->msCaption.getLength() )
- captionList.emplace_back( aIt->mnCacheItem, aIt->msCaption );
+ if ( rItem.mnType == XML_data && rItem.msCaption.getLength() )
+ captionList.emplace_back( rItem.mnCacheItem, rItem.msCaption );
}
if ( !captionList.empty() )
pCacheField->applyItemCaptions( captionList );
@@ -528,13 +528,16 @@ void PivotTableField::convertPageField( const PTPageFieldModel& rPageField )
OSL_ENSURE( rPageField.mnItem == BIFF12_PTPAGEFIELD_MULTIITEMS, "PivotTableField::convertPageField - unexpected cache item index" );
// try to find a single visible item
bool bHasMultiItems = false;
- for( ItemModelVector::iterator aIt = maItems.begin(), aEnd = maItems.end(); (aIt != aEnd) && !bHasMultiItems; ++aIt )
+ for( const auto& rItem : maItems )
{
- if( (aIt->mnType == XML_data) && !aIt->mbHidden )
+ if( (rItem.mnType == XML_data) && !rItem.mbHidden )
{
bHasMultiItems = nCacheItem >= 0;
- nCacheItem = bHasMultiItems ? -1 : aIt->mnCacheItem;
+ nCacheItem = bHasMultiItems ? -1 : rItem.mnCacheItem;
}
+
+ if( bHasMultiItems )
+ break;
}
}
else
@@ -743,20 +746,20 @@ Reference< XDataPilotField > PivotTableField::convertRowColPageField( sal_Int32
try
{
- for( ItemModelVector::iterator aIt = maItems.begin(), aEnd = maItems.end(); aIt != aEnd; ++aIt )
+ for( const auto& rItem : maItems )
{
- if (aIt->mnType != XML_data)
+ if (rItem.mnType != XML_data)
continue;
- const PivotCacheItem* pSharedItem = pCacheField->getCacheItem(aIt->mnCacheItem);
+ const PivotCacheItem* pSharedItem = pCacheField->getCacheItem(rItem.mnCacheItem);
if (!pSharedItem)
continue;
try
{
ScDPSaveMember* pMem = pDim->GetMemberByName(pSharedItem->getFormattedName(*pDim, pDPObj, DateTime(getWorkbookSettings().getNullDate())));
- pMem->SetShowDetails(aIt->mbShowDetails);
- pMem->SetIsVisible(!aIt->mbHidden);
+ pMem->SetShowDetails(rItem.mbShowDetails);
+ pMem->SetIsVisible(!rItem.mbHidden);
}
catch( Exception& )
{
@@ -1230,40 +1233,44 @@ void PivotTable::finalizeImport()
finalizeFieldsImport();
// all row fields
- for( IndexVector::iterator aIt = maRowFields.begin(), aEnd = maRowFields.end(); aIt != aEnd; ++aIt )
- if( PivotTableField* pField = getTableField( *aIt ) )
+ for( const auto& rRowField : maRowFields )
+ if( PivotTableField* pField = getTableField( rRowField ) )
pField->convertRowField();
// all column fields
- for( IndexVector::iterator aIt = maColFields.begin(), aEnd = maColFields.end(); aIt != aEnd; ++aIt )
- if( PivotTableField* pField = getTableField( *aIt ) )
+ for( const auto& rColField : maColFields )
+ if( PivotTableField* pField = getTableField( rColField ) )
pField->convertColField();
// all page fields
- for( PageFieldVector::iterator aIt = maPageFields.begin(), aEnd = maPageFields.end(); aIt != aEnd; ++aIt )
- if( PivotTableField* pField = getTableField( aIt->mnField ) )
- pField->convertPageField( *aIt );
+ for( const auto& rPageField : maPageFields )
+ if( PivotTableField* pField = getTableField( rPageField.mnField ) )
+ pField->convertPageField( rPageField );
// all hidden fields
::std::set< sal_Int32 > aVisFields;
aVisFields.insert( maRowFields.begin(), maRowFields.end() );
aVisFields.insert( maColFields.begin(), maColFields.end() );
- for( PageFieldVector::iterator aIt = maPageFields.begin(), aEnd = maPageFields.end(); aIt != aEnd; ++aIt )
- aVisFields.insert( aIt->mnField );
- for( PivotTableFieldVector::iterator aBeg = maFields.begin(), aIt = aBeg, aEnd = maFields.end(); aIt != aEnd; ++aIt )
- if( aVisFields.count( static_cast< sal_Int32 >( aIt - aBeg ) ) == 0 )
- (*aIt)->convertHiddenField();
+ for( const auto& rPageField : maPageFields )
+ aVisFields.insert( rPageField.mnField );
+ sal_Int32 nIndex = 0;
+ for( auto& rxField : maFields )
+ {
+ if( aVisFields.count( nIndex ) == 0 )
+ rxField->convertHiddenField();
+ ++nIndex;
+ }
// all data fields
- for( DataFieldVector::iterator aIt = maDataFields.begin(), aEnd = maDataFields.end(); aIt != aEnd; ++aIt )
+ for( auto& rDataField : maDataFields )
{
- if( const PivotCacheField* pCacheField = getCacheField( aIt->mnField ) )
+ if( const PivotCacheField* pCacheField = getCacheField( rDataField.mnField ) )
{
if ( pCacheField-> getGroupBaseField() != -1 )
- aIt->mnField = pCacheField-> getGroupBaseField();
+ rDataField.mnField = pCacheField-> getGroupBaseField();
}
- if( PivotTableField* pField = getTableField( aIt->mnField ) )
- pField->convertDataField( *aIt );
+ if( PivotTableField* pField = getTableField( rDataField.mnField ) )
+ pField->convertDataField( rDataField );
}
// filters
diff --git a/sc/source/filter/oox/querytablebuffer.cxx b/sc/source/filter/oox/querytablebuffer.cxx
index 2c50931e35d1..437dd4e263ad 100644
--- a/sc/source/filter/oox/querytablebuffer.cxx
+++ b/sc/source/filter/oox/querytablebuffer.cxx
@@ -89,12 +89,12 @@ OUString lclBuildWebQueryTables( const WebPrModel::TablesVector& rTables )
return OUString( "HTML_tables" );
OUStringBuffer aTables;
- for( WebPrModel::TablesVector::const_iterator aIt = rTables.begin(), aEnd = rTables.end(); aIt != aEnd; ++aIt )
+ for( const auto& rTable : rTables )
{
- if( aIt->has< OUString >() )
- lclAppendWebQueryTableName( aTables, aIt->get< OUString >() );
- else if( aIt->has< sal_Int32 >() )
- lclAppendWebQueryTableIndex( aTables, aIt->get< sal_Int32 >() );
+ if( rTable.has< OUString >() )
+ lclAppendWebQueryTableName( aTables, rTable.get< OUString >() );
+ else if( rTable.has< sal_Int32 >() )
+ lclAppendWebQueryTableIndex( aTables, rTable.get< sal_Int32 >() );
}
return aTables.makeStringAndClear();
}
diff --git a/sc/source/filter/oox/revisionfragment.cxx b/sc/source/filter/oox/revisionfragment.cxx
index 58d27a43f758..afbbfa1af5c2 100644
--- a/sc/source/filter/oox/revisionfragment.cxx
+++ b/sc/source/filter/oox/revisionfragment.cxx
@@ -252,15 +252,13 @@ void RevisionHeadersFragment::finalizeImport()
pCT->SetUseFixDateTime(true);
const oox::core::Relations& rRels = getRelations();
- RevDataType::const_iterator it = mpImpl->maRevData.begin(), itEnd = mpImpl->maRevData.end();
- for (; it != itEnd; ++it)
+ for (const auto& [rRelId, rData] : mpImpl->maRevData)
{
- OUString aPath = rRels.getFragmentPathFromRelId(it->first);
+ OUString aPath = rRels.getFragmentPathFromRelId(rRelId);
if (aPath.isEmpty())
continue;
// Parse each revision log fragment.
- const RevisionMetadata& rData = it->second;
pCT->SetUser(rData.maUserName);
pCT->SetFixDateTimeLocal(rData.maDateTime);
std::unique_ptr<oox::core::FastParser> xParser(oox::core::XmlFilterBase::createParser());
diff --git a/sc/source/filter/oox/richstring.cxx b/sc/source/filter/oox/richstring.cxx
index 8f702d58a8b3..94cd78b474e1 100644
--- a/sc/source/filter/oox/richstring.cxx
+++ b/sc/source/filter/oox/richstring.cxx
@@ -385,9 +385,9 @@ void RichString::convert( const Reference< XText >& rxText ) const
}
bool bReplaceOld = true;
- for( PortionVector::const_iterator aIt = maTextPortions.begin(), aEnd = maTextPortions.end(); aIt != aEnd; ++aIt )
+ for( const auto& rxTextPortion : maTextPortions )
{
- (*aIt)->convert( rxText, bReplaceOld );
+ rxTextPortion->convert( rxText, bReplaceOld );
bReplaceOld = false; // do not replace first portion text with following portions
}
}
@@ -397,17 +397,17 @@ std::unique_ptr<EditTextObject> RichString::convert( ScEditEngineDefaulter& rEE,
ESelection aSelection;
OUStringBuffer sString;
- for( PortionVector::const_iterator aIt = maTextPortions.begin(), aEnd = maTextPortions.end(); aIt != aEnd; ++aIt )
- sString.append((*aIt)->getText());
+ for( const auto& rxTextPortion : maTextPortions )
+ sString.append(rxTextPortion->getText());
// fdo#84370 - diving into editeng is not thread safe.
SolarMutexGuard aGuard;
rEE.SetText( sString.makeStringAndClear() );
- for( PortionVector::const_iterator aIt = maTextPortions.begin(), aEnd = maTextPortions.end(); aIt != aEnd; ++aIt )
+ for( const auto& rxTextPortion : maTextPortions )
{
- (*aIt)->convert( rEE, aSelection, pFirstPortionFont );
+ rxTextPortion->convert( rEE, aSelection, pFirstPortionFont );
pFirstPortionFont = nullptr;
}
diff --git a/sc/source/filter/oox/scenariobuffer.cxx b/sc/source/filter/oox/scenariobuffer.cxx
index cb8a4ab1bd8d..1ea69343d657 100644
--- a/sc/source/filter/oox/scenariobuffer.cxx
+++ b/sc/source/filter/oox/scenariobuffer.cxx
@@ -106,9 +106,9 @@ void Scenario::finalizeImport()
{
AddressConverter& rAddrConv = getAddressConverter();
ScRangeList aRanges;
- for( ScenarioCellVector::iterator aIt = maCells.begin(), aEnd = maCells.end(); aIt != aEnd; ++aIt )
- if( !aIt->mbDeleted && rAddrConv.checkCellAddress( aIt->maPos, true ) )
- aRanges.push_back( ScRange(aIt->maPos, aIt->maPos) );
+ for( const auto& rCell : maCells )
+ if( !rCell.mbDeleted && rAddrConv.checkCellAddress( rCell.maPos, true ) )
+ aRanges.push_back( ScRange(rCell.maPos, rCell.maPos) );
if( !aRanges.empty() && !maModel.maName.isEmpty() ) try
{
@@ -124,13 +124,13 @@ void Scenario::finalizeImport()
// write scenario cell values
Reference< XSpreadsheet > xSheet( getSheetFromDoc( aScenName ), UNO_SET_THROW );
- for( ScenarioCellVector::iterator aIt = maCells.begin(), aEnd = maCells.end(); aIt != aEnd; ++aIt )
+ for( const auto& rCell : maCells )
{
- if( !aIt->mbDeleted ) try
+ if( !rCell.mbDeleted ) try
{
// use XCell::setFormula to auto-detect values and strings
- Reference< XCell > xCell( xSheet->getCellByPosition( aIt->maPos.Col(), aIt->maPos.Row() ), UNO_SET_THROW );
- xCell->setFormula( aIt->maValue );
+ Reference< XCell > xCell( xSheet->getCellByPosition( rCell.maPos.Col(), rCell.maPos.Row() ), UNO_SET_THROW );
+ xCell->setFormula( rCell.maValue );
}
catch( Exception& )
{
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index 9a0240ec631d..7e7077a1b894 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -326,20 +326,20 @@ static void addIfNotInMyMap( const StylesBuffer& rStyles, std::map< FormatKeyPai
Xf* pXf1 = rStyles.getCellXf( nXfId ).get();
if ( pXf1 )
{
- for ( std::map< FormatKeyPair, ScRangeList >::iterator it = rMap.begin(), it_end = rMap.end(); it != it_end; ++it )
+ auto it = std::find_if(rMap.begin(), rMap.end(),
+ [&nFormatId, &rStyles, &pXf1](const std::pair<FormatKeyPair, ScRangeList>& rEntry) {
+ if (rEntry.first.second != nFormatId)
+ return false;
+ Xf* pXf2 = rStyles.getCellXf( rEntry.first.first ).get();
+ return *pXf1 == *pXf2;
+ });
+ if (it != rMap.end()) // already exists
{
- if ( it->first.second == nFormatId )
- {
- Xf* pXf2 = rStyles.getCellXf( it->first.first ).get();
- if ( *pXf1 == *pXf2 ) // already exists
- {
- // add ranges from the rangelist to the existing rangelist for the
- // matching style ( should we check if they overlap ? )
- for (size_t i = 0, nSize = rRangeList.size(); i < nSize; ++i)
- it->second.push_back(rRangeList[i]);
- return;
- }
- }
+ // add ranges from the rangelist to the existing rangelist for the
+ // matching style ( should we check if they overlap ? )
+ for (size_t i = 0, nSize = rRangeList.size(); i < nSize; ++i)
+ it->second.push_back(rRangeList[i]);
+ return;
}
rMap[ FormatKeyPair( nXfId, nFormatId ) ] = rRangeList;
}
@@ -403,50 +403,48 @@ void SheetDataBuffer::addColXfStyle( sal_Int32 nXfId, sal_Int32 nFormatId, const
void SheetDataBuffer::finalizeImport()
{
// create all array formulas
- for( ArrayFormulaVector::iterator aIt = maArrayFormulas.begin(), aEnd = maArrayFormulas.end(); aIt != aEnd; ++aIt )
- finalizeArrayFormula( aIt->first, aIt->second );
+ for( const auto& [rRange, rTokens] : maArrayFormulas )
+ finalizeArrayFormula( rRange, rTokens );
// create all table operations
- for( TableOperationVector::iterator aIt = maTableOperations.begin(), aEnd = maTableOperations.end(); aIt != aEnd; ++aIt )
- finalizeTableOperation( aIt->first, aIt->second );
+ for( const auto& [rRange, rModel] : maTableOperations )
+ finalizeTableOperation( rRange, rModel );
// write default formatting of remaining row range
maXfIdRowRangeList[ maXfIdRowRange.mnXfId ].push_back( maXfIdRowRange.maRowRange );
std::map< FormatKeyPair, ScRangeList > rangeStyleListMap;
- for( XfIdRangeListMap::const_iterator aIt = maXfIdRangeLists.begin(), aEnd = maXfIdRangeLists.end(); aIt != aEnd; ++aIt )
+ for( const auto& [rFormatKeyPair, rRangeList] : maXfIdRangeLists )
{
- addIfNotInMyMap( getStyles(), rangeStyleListMap, aIt->first.first, aIt->first.second, aIt->second );
+ addIfNotInMyMap( getStyles(), rangeStyleListMap, rFormatKeyPair.first, rFormatKeyPair.second, rRangeList );
}
// gather all ranges that have the same style and apply them in bulk
- for ( std::map< FormatKeyPair, ScRangeList >::iterator it = rangeStyleListMap.begin(), it_end = rangeStyleListMap.end(); it != it_end; ++it )
+ for ( const auto& [rFormatKeyPair, rRanges] : rangeStyleListMap )
{
- const ScRangeList& rRanges( it->second );
for (size_t i = 0, nSize = rRanges.size(); i < nSize; ++i)
- addColXfStyle( it->first.first, it->first.second, rRanges[i]);
+ addColXfStyle( rFormatKeyPair.first, rFormatKeyPair.second, rRanges[i]);
}
- for ( std::map< sal_Int32, std::vector< ValueRange > >::iterator it = maXfIdRowRangeList.begin(), it_end = maXfIdRowRangeList.end(); it != it_end; ++it )
+ for ( const auto& [rXfId, rRowRangeList] : maXfIdRowRangeList )
{
- if ( it->first == -1 ) // it's a dud skip it
+ if ( rXfId == -1 ) // it's a dud skip it
continue;
AddressConverter& rAddrConv = getAddressConverter();
// get all row ranges for id
- for ( std::vector< ValueRange >::iterator rangeIter = it->second.begin(), rangeIter_end = it->second.end(); rangeIter != rangeIter_end; ++rangeIter )
+ for ( const auto& rRange : rRowRangeList )
{
- ScRange aRange( 0, rangeIter->mnFirst, getSheetIndex(),
- rAddrConv.getMaxApiAddress().Col(), rangeIter->mnLast, getSheetIndex() );
+ ScRange aRange( 0, rRange.mnFirst, getSheetIndex(),
+ rAddrConv.getMaxApiAddress().Col(), rRange.mnLast, getSheetIndex() );
- addColXfStyle( it->first, -1, aRange, true );
+ addColXfStyle( rXfId, -1, aRange, true );
}
}
ScDocumentImport& rDoc = getDocImport();
StylesBuffer& rStyles = getStyles();
- for ( ColStyles::iterator col = maStylesPerColumn.begin(), col_end = maStylesPerColumn.end(); col != col_end; ++col )
+ for ( const auto& [rCol, rRowStyles] : maStylesPerColumn )
{
- RowStyles& rRowStyles = col->second;
- SCCOL nScCol = static_cast< SCCOL >( col->first );
+ SCCOL nScCol = static_cast< SCCOL >( rCol );
// tdf#91567 Get pattern from the first row without AutoFilter
const ScPatternAttr* pDefPattern = nullptr;
@@ -468,12 +466,12 @@ void SheetDataBuffer::finalizeImport()
pDefPattern = rDoc.getDoc().GetDefPattern();
Xf::AttrList aAttrs(pDefPattern);
- for ( RowStyles::iterator rRows = rRowStyles.begin(), rRows_end = rRowStyles.end(); rRows != rRows_end; ++rRows )
+ for ( const auto& rRowStyle : rRowStyles )
{
- Xf* pXf = rStyles.getCellXf( rRows->mnNumFmt.first ).get();
+ Xf* pXf = rStyles.getCellXf( rRowStyle.mnNumFmt.first ).get();
if ( pXf )
- pXf->applyPatternToAttrList( aAttrs, rRows->mnStartRow, rRows->mnEndRow, rRows->mnNumFmt.second );
+ pXf->applyPatternToAttrList( aAttrs, rRowStyle.mnStartRow, rRowStyle.mnEndRow, rRowStyle.mnNumFmt.second );
}
if (aAttrs.maAttrs.empty() || aAttrs.maAttrs.back().nEndRow != MAXROW)
{
@@ -495,10 +493,10 @@ void SheetDataBuffer::finalizeImport()
}
// merge all cached merged ranges and update right/bottom cell borders
- for( MergedRangeVector::iterator aIt = maMergedRanges.begin(), aEnd = maMergedRanges.end(); aIt != aEnd; ++aIt )
- applyCellMerging( aIt->maRange );
- for( MergedRangeVector::iterator aIt = maCenterFillRanges.begin(), aEnd = maCenterFillRanges.end(); aIt != aEnd; ++aIt )
- applyCellMerging( aIt->maRange );
+ for( const auto& rMergedRange : maMergedRanges )
+ applyCellMerging( rMergedRange.maRange );
+ for( const auto& rCenterFillRange : maCenterFillRanges )
+ applyCellMerging( rCenterFillRange.maRange );
}
// private --------------------------------------------------------------------
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx
index eac49000ae18..ffc48e14532a 100644
--- a/sc/source/filter/oox/stylesbuffer.cxx
+++ b/sc/source/filter/oox/stylesbuffer.cxx
@@ -2571,9 +2571,9 @@ void CellStyleBuffer::finalizeImport()
/* Calculate names of built-in styles. Store styles with reserved names
in the aConflictNameStyles list. */
- for( CellStyleVector::iterator aIt = maBuiltinStyles.begin(), aEnd = maBuiltinStyles.end(); aIt != aEnd; ++aIt )
+ for( const auto& rxStyle : maBuiltinStyles )
{
- const CellStyleModel& rModel = (*aIt)->getModel();
+ const CellStyleModel& rModel = rxStyle->getModel();
if (rModel.isDefaultStyle())
continue;
@@ -2581,31 +2581,31 @@ void CellStyleBuffer::finalizeImport()
/* If a builtin style entry already exists,
we just stick with the last definition and ignore
the preceding ones. */
- aCellStyles[ aStyleName ] = *aIt;
+ aCellStyles[ aStyleName ] = rxStyle;
}
/* Calculate names of user defined styles. Store styles with reserved
names in the aConflictNameStyles list. */
- for( CellStyleVector::iterator aIt = maUserStyles.begin(), aEnd = maUserStyles.end(); aIt != aEnd; ++aIt )
+ for( const auto& rxStyle : maUserStyles )
{
- const CellStyleModel& rModel = (*aIt)->getModel();
+ const CellStyleModel& rModel = rxStyle->getModel();
OUString aStyleName = lclCreateStyleName( rModel );
// #i1624# #i1768# ignore unnamed user styles
if( aStyleName.getLength() > 0 )
{
if( aCellStyles.find( aStyleName ) != aCellStyles.end() )
- aConflictNameStyles.push_back( *aIt );
+ aConflictNameStyles.push_back( rxStyle );
else
- aCellStyles[ aStyleName ] = *aIt;
+ aCellStyles[ aStyleName ] = rxStyle;
}
}
// find unused names for all styles with conflicting names
// having the index counter outside the loop prevents performance problems with opening some pathological documents (tdf#62095)
sal_Int32 nIndex = 0;
- for( CellStyleVector::iterator aIt = aConflictNameStyles.begin(), aEnd = aConflictNameStyles.end(); aIt != aEnd; ++aIt )
+ for( const auto& rxStyle : aConflictNameStyles )
{
- const CellStyleModel& rModel = (*aIt)->getModel();
+ const CellStyleModel& rModel = rxStyle->getModel();
OUString aStyleName = lclCreateStyleName( rModel );
OUString aUnusedName;
do
@@ -2613,7 +2613,7 @@ void CellStyleBuffer::finalizeImport()
aUnusedName = aStyleName + OUStringLiteral1(' ') + OUString::number( ++nIndex );
}
while( aCellStyles.find( aUnusedName ) != aCellStyles.end() );
- aCellStyles[ aUnusedName ] = *aIt;
+ aCellStyles[ aUnusedName ] = rxStyle;
}
// set final names and create user-defined and modified built-in cell styles
diff --git a/sc/source/filter/oox/tablebuffer.cxx b/sc/source/filter/oox/tablebuffer.cxx
index 0d50a5502332..8c8526ce9a57 100644
--- a/sc/source/filter/oox/tablebuffer.cxx
+++ b/sc/source/filter/oox/tablebuffer.cxx
@@ -165,8 +165,8 @@ Table& TableBuffer::createTable()
void TableBuffer::finalizeImport()
{
// map all tables by identifier and display name
- for( TableVector::iterator aIt = maTables.begin(), aEnd = maTables.end(); aIt != aEnd; ++aIt )
- insertTableToMaps( *aIt );
+ for( const auto& rxTable : maTables )
+ insertTableToMaps( rxTable );
// finalize all valid tables
maIdTables.forEachMem( &Table::finalizeImport );
}
diff --git a/sc/source/filter/oox/tablecolumnsbuffer.cxx b/sc/source/filter/oox/tablecolumnsbuffer.cxx
index bb35f3bd0918..0a90f72236f7 100644
--- a/sc/source/filter/oox/tablecolumnsbuffer.cxx
+++ b/sc/source/filter/oox/tablecolumnsbuffer.cxx
@@ -85,10 +85,10 @@ bool TableColumns::finalizeImport( ScDBData* pDBData )
/* TODO: use svl::SharedString for names */
::std::vector< OUString > aNames( maTableColumnVector.size());
size_t i = 0;
- for (TableColumnVector::const_iterator aIt = maTableColumnVector.begin(), aEnd = maTableColumnVector.end();
- aIt != aEnd; ++aIt, ++i)
+ for (const auto& rxTableColumn : maTableColumnVector)
{
- aNames[i] = (*aIt)->getName();
+ aNames[i] = rxTableColumn->getName();
+ ++i;
}
pDBData->SetTableColumnNames( aNames);
return true;
diff --git a/sc/source/filter/oox/viewsettings.cxx b/sc/source/filter/oox/viewsettings.cxx
index e090a7b8d67a..a01c536fcac9 100644
--- a/sc/source/filter/oox/viewsettings.cxx
+++ b/sc/source/filter/oox/viewsettings.cxx
@@ -551,8 +551,8 @@ void ViewSettings::finalizeImport()
// view settings for all sheets
Reference< XNameContainer > xSheetsNC = NamedPropertyValues::create( getBaseFilter().getComponentContext() );
if( !xSheetsNC.is() ) return;
- for( SheetPropertiesMap::const_iterator aIt = maSheetProps.begin(), aEnd = maSheetProps.end(); aIt != aEnd; ++aIt )
- ContainerHelper::insertByName( xSheetsNC, rWorksheets.getCalcSheetName( aIt->first ), aIt->second );
+ for( const auto& [rWorksheet, rObj] : maSheetProps )
+ ContainerHelper::insertByName( xSheetsNC, rWorksheets.getCalcSheetName( rWorksheet ), rObj );
// use active sheet to set sheet properties that are document-global in Calc
sal_Int16 nActiveSheet = getActiveCalcSheet();
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index a00d7bdfbc98..7ef19f7aef47 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -315,15 +315,14 @@ void importSheetFragments( WorkbookFragment& rWorkbookHandler, SheetFragmentVect
sal_Int32 nSheetsLeft = 0;
ProgressBarTimer aProgressUpdater;
- SheetFragmentVector::iterator it = rSheets.begin(), itEnd = rSheets.end();
- for( ; it != itEnd; ++it )
+ for( auto& [rxSheetGlob, rxFragment] : rSheets )
{
// getting at the WorksheetGlobals is rather unpleasant
- IWorksheetProgress *pProgress = WorksheetHelper::getWorksheetInterface( it->first );
+ IWorksheetProgress *pProgress = WorksheetHelper::getWorksheetInterface( rxSheetGlob );
pProgress->setCustomRowProgress(
aProgressUpdater.wrapProgress(
pProgress->getRowProgress() ) );
- rSharedPool.pushTask( o3tl::make_unique<WorkerThread>( pTag, rWorkbookHandler, it->second,
+ rSharedPool.pushTask( o3tl::make_unique<WorkerThread>( pTag, rWorkbookHandler, rxFragment,
/* ref */ nSheetsLeft ) );
nSheetsLeft++;
}
@@ -484,16 +483,16 @@ void WorkbookFragment::finalizeImport()
recalcFormulaCells();
- for( std::vector<WorksheetHelper*>::iterator aIt = aHelpers.begin(), aEnd = aHelpers.end(); aIt != aEnd; ++aIt )
+ for( WorksheetHelper* pHelper : aHelpers )
{
- (*aIt)->finalizeDrawingImport();
+ pHelper->finalizeDrawingImport();
}
- for( SheetFragmentVector::iterator aIt = aSheetFragments.begin(), aEnd = aSheetFragments.end(); aIt != aEnd; ++aIt )
+ for( auto& [rxSheetGlob, rxFragment] : aSheetFragments )
{
// delete fragment object and WorkbookGlobals object, will free all allocated sheet buffers
- aIt->second.clear();
- aIt->first.reset();
+ rxFragment.clear();
+ rxSheetGlob.reset();
}
OUString aRevHeadersPath = getFragmentPathFromFirstType(CREATE_OFFICEDOC_RELATION_TYPE("revisionHeaders"));
diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx
index d542679b532e..775e9ad9a3a7 100644
--- a/sc/source/filter/oox/worksheetfragment.cxx
+++ b/sc/source/filter/oox/worksheetfragment.cxx
@@ -341,8 +341,8 @@ WorksheetFragment::WorksheetFragment( const WorksheetHelper& rHelper, const OUSt
{
// import data tables related to this worksheet
RelationsRef xTableRels = getRelations().getRelationsFromTypeFromOfficeDoc( "table" );
- for( ::std::map< OUString, Relation >::const_iterator aIt = xTableRels->begin(), aEnd = xTableRels->end(); aIt != aEnd; ++aIt )
- importOoxFragment( new TableFragment( *this, getFragmentPathFromRelation( aIt->second ) ) );
+ for( const auto& rEntry : *xTableRels )
+ importOoxFragment( new TableFragment( *this, getFragmentPathFromRelation( rEntry.second ) ) );
// import comments related to this worksheet
OUString aCommentsFragmentPath = getFragmentPathFromFirstTypeFromOfficeDoc( "comments" );
@@ -620,13 +620,13 @@ void WorksheetFragment::initializeImport()
// import query table fragments related to this worksheet
RelationsRef xQueryRels = getRelations().getRelationsFromTypeFromOfficeDoc( "queryTable" );
- for( ::std::map< OUString, Relation >::const_iterator aIt = xQueryRels->begin(), aEnd = xQueryRels->end(); aIt != aEnd; ++aIt )
- importOoxFragment( new QueryTableFragment( *this, getFragmentPathFromRelation( aIt->second ) ) );
+ for( const auto& rEntry : *xQueryRels )
+ importOoxFragment( new QueryTableFragment( *this, getFragmentPathFromRelation( rEntry.second ) ) );
// import pivot table fragments related to this worksheet
RelationsRef xPivotRels = getRelations().getRelationsFromTypeFromOfficeDoc( "pivotTable" );
- for( ::std::map< OUString, Relation >::const_iterator aIt = xPivotRels->begin(), aEnd = xPivotRels->end(); aIt != aEnd; ++aIt )
- importOoxFragment( new PivotTableFragment( *this, getFragmentPathFromRelation( aIt->second ) ) );
+ for( const auto& rEntry : *xPivotRels )
+ importOoxFragment( new PivotTableFragment( *this, getFragmentPathFromRelation( rEntry.second ) ) );
}
void WorksheetFragment::finalizeImport()
diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
index c9fa56f516a4..4cdd3ce48412 100644
--- a/sc/source/filter/orcus/xmlcontext.cxx
+++ b/sc/source/filter/orcus/xmlcontext.cxx
@@ -98,11 +98,8 @@ void populateTree(
// Insert attributes.
rWalker.get_attributes(aNames);
- orcus::xml_structure_tree::entity_names_type::const_iterator it = aNames.begin();
- orcus::xml_structure_tree::entity_names_type::const_iterator itEnd = aNames.end();
- for (; it != itEnd; ++it)
+ for (const orcus::xml_structure_tree::entity_name& rAttrName : aNames)
{
- const orcus::xml_structure_tree::entity_name& rAttrName = *it;
SvTreeListEntry* pAttr = rTreeCtrl.InsertEntry(toString(rAttrName, rWalker), pEntry);
if (!pAttr)
@@ -123,10 +120,10 @@ void populateTree(
rEntryData.mbLeafNode = aNames.empty();
// Insert child elements recursively.
- for (it = aNames.begin(), itEnd = aNames.end(); it != itEnd; ++it)
+ for (const auto& rName : aNames)
{
- orcus::xml_structure_tree::element aElem = rWalker.descend(*it);
- populateTree(rTreeCtrl, rWalker, *it, aElem.repeat, pEntry, rParam);
+ orcus::xml_structure_tree::element aElem = rWalker.descend(rName);
+ populateTree(rTreeCtrl, rWalker, rName, aElem.repeat, pEntry, rParam);
rWalker.ascend();
}
}
@@ -256,39 +253,29 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
// Define all used namespaces.
std::for_each(rParam.maNamespaces.begin(), rParam.maNamespaces.end(), SetNamespaceAlias(filter, maNsRepo));
+ // Set cell links.
+ for (const ScOrcusImportXMLParam::CellLink& rLink : rParam.maCellLinks)
{
- // Set cell links.
- ScOrcusImportXMLParam::CellLinksType::const_iterator it = rParam.maCellLinks.begin();
- ScOrcusImportXMLParam::CellLinksType::const_iterator itEnd = rParam.maCellLinks.end();
- for (; it != itEnd; ++it)
- {
- const ScOrcusImportXMLParam::CellLink& rLink = *it;
- OUString aTabName;
- mrDoc.GetName(rLink.maPos.Tab(), aTabName);
- filter.set_cell_link(
- rLink.maPath.getStr(),
- OUStringToOString(aTabName, RTL_TEXTENCODING_UTF8).getStr(),
- rLink.maPos.Row(), rLink.maPos.Col());
- }
+ OUString aTabName;
+ mrDoc.GetName(rLink.maPos.Tab(), aTabName);
+ filter.set_cell_link(
+ rLink.maPath.getStr(),
+ OUStringToOString(aTabName, RTL_TEXTENCODING_UTF8).getStr(),
+ rLink.maPos.Row(), rLink.maPos.Col());
}
+ // Set range links.
+ for (const ScOrcusImportXMLParam::RangeLink& rLink : rParam.maRangeLinks)
{
- // Set range links.
- ScOrcusImportXMLParam::RangeLinksType::const_iterator it = rParam.maRangeLinks.begin();
- ScOrcusImportXMLParam::RangeLinksType::const_iterator itEnd = rParam.maRangeLinks.end();
- for (; it != itEnd; ++it)
- {
- const ScOrcusImportXMLParam::RangeLink& rLink = *it;
- OUString aTabName;
- mrDoc.GetName(rLink.maPos.Tab(), aTabName);
- filter.start_range(
- OUStringToOString(aTabName, RTL_TEXTENCODING_UTF8).getStr(),
- rLink.maPos.Row(), rLink.maPos.Col());
-
- std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(), InsertFieldPath(filter));
-
- filter.commit_range();
- }
+ OUString aTabName;
+ mrDoc.GetName(rLink.maPos.Tab(), aTabName);
+ filter.start_range(
+ OUStringToOString(aTabName, RTL_TEXTENCODING_UTF8).getStr(),
+ rLink.maPos.Row(), rLink.maPos.Col());
+
+ std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(), InsertFieldPath(filter));
+
+ filter.commit_range();
}
std::string content = orcus::load_file_content(path);
More information about the Libreoffice-commits
mailing list