[Libreoffice-commits] core.git: sc/inc sc/qa sc/source
Noel Grandin
noel.grandin at collabora.co.uk
Sat Mar 10 18:22:24 UTC 2018
sc/inc/address.hxx | 2
sc/inc/rangelst.hxx | 42 -
sc/qa/unit/helper/qahelper.cxx | 6
sc/qa/unit/mark_test.cxx | 88 +-
sc/qa/unit/rangelst_test.cxx | 34 -
sc/qa/unit/ucalc.cxx | 18
sc/qa/unit/ucalc_condformat.cxx | 8
sc/source/core/data/clipparam.cxx | 32 -
sc/source/core/data/colorscale.cxx | 12
sc/source/core/data/column.cxx | 2
sc/source/core/data/columnspanset.cxx | 8
sc/source/core/data/conditio.cxx | 62 --
sc/source/core/data/documen3.cxx | 6
sc/source/core/data/documen5.cxx | 31 -
sc/source/core/data/documen6.cxx | 2
sc/source/core/data/document.cxx | 165 ++---
sc/source/core/data/drwlayer.cxx | 10
sc/source/core/data/formulacell.cxx | 10
sc/source/core/data/markdata.cxx | 38 -
sc/source/core/data/table2.cxx | 53 -
sc/source/core/data/table3.cxx | 2
sc/source/core/data/table6.cxx | 37 -
sc/source/core/data/tabprotection.cxx | 8
sc/source/core/tool/chartarr.cxx | 6
sc/source/core/tool/charthelper.cxx | 19
sc/source/core/tool/chartpos.cxx | 21
sc/source/core/tool/dbdata.cxx | 4
sc/source/core/tool/rangelst.cxx | 295 ++++------
sc/source/core/tool/rangeutl.cxx | 11
sc/source/core/tool/reftokenhelper.cxx | 10
sc/source/filter/excel/excform.cxx | 2
sc/source/filter/excel/excform8.cxx | 2
sc/source/filter/excel/xecontent.cxx | 34 -
sc/source/filter/excel/xeextlst.cxx | 2
sc/source/filter/excel/xeformula.cxx | 2
sc/source/filter/excel/xehelper.cxx | 14
sc/source/filter/excel/xename.cxx | 8
sc/source/filter/excel/xestream.cxx | 2
sc/source/filter/excel/xicontent.cxx | 27
sc/source/filter/excel/xiescher.cxx | 8
sc/source/filter/excel/xihelper.cxx | 2
sc/source/filter/excel/xistyle.cxx | 16
sc/source/filter/html/htmlimp.cxx | 2
sc/source/filter/html/htmlpars.cxx | 14
sc/source/filter/oox/addressconverter.cxx | 8
sc/source/filter/oox/condformatbuffer.cxx | 2
sc/source/filter/oox/defnamesbuffer.cxx | 2
sc/source/filter/oox/extlstcontext.cxx | 4
sc/source/filter/oox/formulabase.cxx | 6
sc/source/filter/oox/scenariobuffer.cxx | 2
sc/source/filter/oox/sheetdatabuffer.cxx | 24
sc/source/filter/xcl97/xcl97rec.cxx | 6
sc/source/filter/xml/xmlcondformat.cxx | 4
sc/source/filter/xml/xmlsceni.cxx | 7
sc/source/filter/xml/xmlstyli.cxx | 4
sc/source/filter/xml/xmlsubti.cxx | 2
sc/source/filter/xml/xmltabi.cxx | 2
sc/source/ui/Accessibility/AccessibleCell.cxx | 2
sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx | 93 +--
sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx | 14
sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx | 4
sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx | 2
sc/source/ui/StatisticsDialogs/SamplingDialog.cxx | 4
sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx | 8
sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx | 6
sc/source/ui/condformat/condformatdlg.cxx | 3
sc/source/ui/dialogs/searchresults.cxx | 12
sc/source/ui/docshell/arealink.cxx | 16
sc/source/ui/docshell/dbdocfun.cxx | 8
sc/source/ui/docshell/docfunc.cxx | 11
sc/source/ui/docshell/docsh3.cxx | 10
sc/source/ui/docshell/docsh4.cxx | 2
sc/source/ui/docshell/docsh5.cxx | 2
sc/source/ui/docshell/externalrefmgr.cxx | 5
sc/source/ui/docshell/tablink.cxx | 10
sc/source/ui/drawfunc/fuins2.cxx | 4
sc/source/ui/inc/AccessibleSpreadsheet.hxx | 4
sc/source/ui/inc/docsh.hxx | 3
sc/source/ui/miscdlgs/acredlin.cxx | 20
sc/source/ui/miscdlgs/anyrefdg.cxx | 22
sc/source/ui/miscdlgs/highred.cxx | 4
sc/source/ui/miscdlgs/optsolver.cxx | 2
sc/source/ui/undo/undobase.cxx | 4
sc/source/ui/undo/undoblk.cxx | 50 -
sc/source/ui/undo/undocell.cxx | 2
sc/source/ui/undo/undodat.cxx | 2
sc/source/ui/unoobj/cellsuno.cxx | 215 +++----
sc/source/ui/unoobj/chart2uno.cxx | 7
sc/source/ui/unoobj/chartuno.cxx | 22
sc/source/ui/unoobj/condformatuno.cxx | 2
sc/source/ui/unoobj/cursuno.cxx | 26
sc/source/ui/unoobj/dapiuno.cxx | 9
sc/source/ui/unoobj/docuno.cxx | 27
sc/source/ui/unoobj/funcuno.cxx | 8
sc/source/ui/unoobj/viewuno.cxx | 25
sc/source/ui/vba/vbaapplication.cxx | 4
sc/source/ui/vba/vbaeventshelper.cxx | 4
sc/source/ui/vba/vbahyperlinks.cxx | 4
sc/source/ui/vba/vbanames.cxx | 2
sc/source/ui/vba/vbapagesetup.cxx | 6
sc/source/ui/vba/vbarange.cxx | 66 +-
sc/source/ui/view/cellsh.cxx | 2
sc/source/ui/view/cellsh1.cxx | 19
sc/source/ui/view/cliputil.cxx | 2
sc/source/ui/view/dbfunc3.cxx | 12
sc/source/ui/view/drawvie4.cxx | 2
sc/source/ui/view/gridwin.cxx | 14
sc/source/ui/view/gridwin4.cxx | 2
sc/source/ui/view/gridwin_dbgutil.cxx | 8
sc/source/ui/view/tabview3.cxx | 6
sc/source/ui/view/tabvwshc.cxx | 62 --
sc/source/ui/view/viewdata.cxx | 3
sc/source/ui/view/viewfun2.cxx | 33 -
sc/source/ui/view/viewfun3.cxx | 57 -
sc/source/ui/view/viewfun4.cxx | 2
sc/source/ui/view/viewfun6.cxx | 17
sc/source/ui/view/viewfunc.cxx | 10
117 files changed, 1077 insertions(+), 1180 deletions(-)
New commits:
commit 6529cd54c29c5800340530a1b8182c341fbeeafb
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Wed Mar 7 14:17:38 2018 +0200
don't use heap for elements in ScRangeList
no need to store small objects like this out of line.
Also
- add move constructor and move assignment operator
- drop Assign method since it now has the same
signature as push_back
Change-Id: I9a8647d3a11f24166a83d399a358a2bce3b2cb79
Reviewed-on: https://gerrit.libreoffice.org/50899
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
diff --git a/sc/inc/address.hxx b/sc/inc/address.hxx
index a3c7040a21d5..ddc85469d349 100644
--- a/sc/inc/address.hxx
+++ b/sc/inc/address.hxx
@@ -480,7 +480,7 @@ inline bool ValidAddress( const ScAddress& rAddress )
}
// ScRange
-class SAL_WARN_UNUSED ScRange
+class SAL_WARN_UNUSED ScRange final
{
public:
ScAddress aStart;
diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx
index 4d9fe2770815..d78c7054499d 100644
--- a/sc/inc/rangelst.hxx
+++ b/sc/inc/rangelst.hxx
@@ -28,20 +28,22 @@
class ScDocument;
-class SC_DLLPUBLIC ScRangeList : public SvRefBase
+
+class SAL_WARN_UNUSED SC_DLLPUBLIC ScRangeList final : public SvRefBase
{
public:
ScRangeList();
ScRangeList( const ScRangeList& rList );
+ ScRangeList( const ScRangeList&& rList );
ScRangeList( const ScRange& rRange );
virtual ~ScRangeList() override;
ScRangeList& operator=(const ScRangeList& rList);
- void Append( const ScRange& rRange );
+ ScRangeList& operator=(ScRangeList&& rList);
- ScRefFlags Parse( const OUString&, const ScDocument*,
- formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO,
- SCTAB nDefaultTab = 0, sal_Unicode cDelimiter = 0 );
+ ScRefFlags Parse( const OUString&, const ScDocument*,
+ formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO,
+ SCTAB nDefaultTab = 0, sal_Unicode cDelimiter = 0 );
void Format( OUString&, ScRefFlags nFlags, ScDocument*,
formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO,
@@ -56,8 +58,8 @@ public:
SCTAB nDz
);
- void InsertRow( SCTAB nTab, SCCOL nColStart, SCCOL nColEnd, SCROW nRowPos, SCSIZE nSize );
- void InsertCol( SCTAB nTab, SCROW nRowStart, SCROW nRowEnd, SCCOL nColPos, SCSIZE nSize );
+ void InsertRow( SCTAB nTab, SCCOL nColStart, SCCOL nColEnd, SCROW nRowPos, SCSIZE nSize );
+ void InsertCol( SCTAB nTab, SCROW nRowStart, SCROW nRowEnd, SCCOL nColPos, SCSIZE nSize );
/** For now this method assumes that nTab1 == nTab2
* The algorithm will be much more complicated if nTab1 != nTab2
@@ -81,23 +83,23 @@ public:
ScRange Combine() const;
- bool empty() const;
- size_t size() const;
- ScRange* operator[](size_t idx);
- const ScRange* operator[](size_t idx) const;
- ScRange* front();
- const ScRange* front() const;
- ScRange* back();
- const ScRange* back() const;
- void push_back(ScRange* p);
+ bool empty() const { return maRanges.empty(); }
+ size_t size() const { return maRanges.size(); }
+ ScRange& operator[](size_t idx) { return maRanges[idx]; }
+ const ScRange& operator[](size_t idx) const { return maRanges[idx]; }
+ ScRange& front() { return maRanges.front(); }
+ const ScRange& front() const { return maRanges.front(); }
+ ScRange& back() { return maRanges.back(); }
+ const ScRange& back() const { return maRanges.back(); }
+ void push_back(const ScRange & rRange);
void swap( ScRangeList& r );
private:
- ::std::vector<ScRange*> maRanges;
+ ::std::vector<ScRange> maRanges;
SCROW mnMaxRowUsed;
- typedef std::vector<ScRange*>::iterator iterator;
- typedef std::vector<ScRange*>::const_iterator const_iterator;
+ typedef std::vector<ScRange>::iterator iterator;
+ typedef std::vector<ScRange>::const_iterator const_iterator;
};
typedef tools::SvRef<ScRangeList> ScRangeListRef;
@@ -110,7 +112,7 @@ inline std::basic_ostream<charT, traits> & operator <<(std::basic_ostream<charT,
{
if (i > 0)
stream << ",";
- stream << *(rRangeList[i]);
+ stream << rRangeList[i];
}
stream << ")";
diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx
index f99d23df203e..3f7c93198312 100644
--- a/sc/qa/unit/helper/qahelper.cxx
+++ b/sc/qa/unit/helper/qahelper.cxx
@@ -53,7 +53,7 @@ std::ostream& operator<<(std::ostream& rStrm, const ScRangeList& rList)
{
rStrm << "ScRangeList: \n";
for(size_t i = 0; i < rList.size(); ++i)
- rStrm << *rList[i];
+ rStrm << rList[i];
return rStrm;
}
@@ -382,14 +382,14 @@ ScRangeList getChartRanges(ScDocument& rDoc, const SdrOle2Obj& rChartObj)
ScRefFlags nRes = aRange.Parse(aRangeReps[i], &rDoc, rDoc.GetAddressConvention());
if (nRes & ScRefFlags::VALID)
// This is a range address.
- aRanges.Append(aRange);
+ aRanges.push_back(aRange);
else
{
// Parse it as a single cell address.
ScAddress aAddr;
nRes = aAddr.Parse(aRangeReps[i], &rDoc, rDoc.GetAddressConvention());
CPPUNIT_ASSERT_MESSAGE("Failed to parse a range representation.", (nRes & ScRefFlags::VALID));
- aRanges.Append(aAddr);
+ aRanges.push_back(aAddr);
}
}
diff --git a/sc/qa/unit/mark_test.cxx b/sc/qa/unit/mark_test.cxx
index a083d482b219..0c393e934b77 100644
--- a/sc/qa/unit/mark_test.cxx
+++ b/sc/qa/unit/mark_test.cxx
@@ -120,10 +120,10 @@ static void lcl_GetSortedRanges( const ScRangeList& rRangeList, ScRangeList& rRa
size_t nSize = rRangeList.size();
aRanges.reserve( nSize );
for ( size_t nIdx = 0; nIdx < nSize; ++nIdx )
- aRanges.push_back( *rRangeList[nIdx] );
+ aRanges.push_back( rRangeList[nIdx] );
std::sort( aRanges.begin(), aRanges.end() );
for ( size_t nIdx = 0; nIdx < nSize; ++nIdx )
- rRangeListOut.Append( aRanges[nIdx] );
+ rRangeListOut.push_back( aRanges[nIdx] );
}
void Test::testSimpleMark( const ScRange& rRange, const ScRange& rSelectionCover,
@@ -544,25 +544,25 @@ void Test::testMultiMark_FourRanges()
aData.aMarks.push_back( aSingle4 );
aData.aSelectionCover = ScRange( 0, 0, 0, MAXCOL, MAXROW, 0 );
- aData.aLeftEnvelope.Append( ScRange( 9, 5, 0, 9, 10, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 24, 7, 0, 24, 15, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 34, 0, 0, 34, 19, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 34, 21, 0, 34, MAXROW, 0 ) );
-
- aData.aRightEnvelope.Append( ScRange( 21, 5, 0, 21, 10, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 31, 7, 0, 31, 15, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 36, 0, 0, 36, 19, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 36, 21, 0, 36, MAXROW, 0 ) );
-
- aData.aTopEnvelope.Append( ScRange( 10, 4, 0, 20, 4, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 25, 6, 0, 30, 6, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 0, 19, 0, 34, 19, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 36, 19, 0, MAXCOL, 19, 0 ) );
-
- aData.aBottomEnvelope.Append( ScRange( 10, 11, 0, 20, 11, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 25, 16, 0, 30, 16, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 0, 21, 0, 34, 21, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 36, 21, 0, MAXCOL, 21, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 9, 5, 0, 9, 10, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 24, 7, 0, 24, 15, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 34, 0, 0, 34, 19, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 34, 21, 0, 34, MAXROW, 0 ) );
+
+ aData.aRightEnvelope.push_back( ScRange( 21, 5, 0, 21, 10, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 31, 7, 0, 31, 15, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 36, 0, 0, 36, 19, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 36, 21, 0, 36, MAXROW, 0 ) );
+
+ aData.aTopEnvelope.push_back( ScRange( 10, 4, 0, 20, 4, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 25, 6, 0, 30, 6, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 0, 19, 0, 34, 19, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 36, 19, 0, MAXCOL, 19, 0 ) );
+
+ aData.aBottomEnvelope.push_back( ScRange( 10, 11, 0, 20, 11, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 25, 16, 0, 30, 16, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 0, 21, 0, 34, 21, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 36, 21, 0, MAXCOL, 21, 0 ) );
MarkArrayTestData aMarkArrayTestData1;
aMarkArrayTestData1.nCol = 5;
@@ -744,29 +744,29 @@ void Test::testMultiMark_NegativeMarking()
aData.aMarks.push_back( aSingle5 );
aData.aSelectionCover = ScRange( 0, 4, 0, MAXCOL, 21, 0 );
- aData.aLeftEnvelope.Append( ScRange( 9, 8, 0, 9, 11, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 9, 13, 0, 9, 20, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 18, 10, 0, 18, 14, 0 ) );
- aData.aLeftEnvelope.Append( ScRange( 20, 5, 0, 20, 5, 0 ) );
-
- aData.aRightEnvelope.Append( ScRange( 17, 5, 0, 17, 5, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 15, 10, 0, 15, 14, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 26, 8, 0, 26, 11, 0 ) );
- aData.aRightEnvelope.Append( ScRange( 26, 13, 0, 26, 20, 0 ) );
-
- aData.aTopEnvelope.Append( ScRange( 0, 4, 0, 16, 4, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 21, 4, 0, MAXCOL, 4, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 10, 7, 0, 25, 7, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 0, 11, 0, 9, 11, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 26, 11, 0, MAXCOL, 11, 0 ) );
- aData.aTopEnvelope.Append( ScRange( 15, 14, 0, 18, 14, 0 ) );
-
- aData.aBottomEnvelope.Append( ScRange( 0, 6, 0, 16, 6, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 21, 6, 0, MAXCOL, 6, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 15, 10, 0, 18, 10, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 0, 13, 0, 9, 13, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 26, 13, 0, MAXCOL, 13, 0 ) );
- aData.aBottomEnvelope.Append( ScRange( 10, 21, 0, 25, 21, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 9, 8, 0, 9, 11, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 9, 13, 0, 9, 20, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 18, 10, 0, 18, 14, 0 ) );
+ aData.aLeftEnvelope.push_back( ScRange( 20, 5, 0, 20, 5, 0 ) );
+
+ aData.aRightEnvelope.push_back( ScRange( 17, 5, 0, 17, 5, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 15, 10, 0, 15, 14, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 26, 8, 0, 26, 11, 0 ) );
+ aData.aRightEnvelope.push_back( ScRange( 26, 13, 0, 26, 20, 0 ) );
+
+ aData.aTopEnvelope.push_back( ScRange( 0, 4, 0, 16, 4, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 21, 4, 0, MAXCOL, 4, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 10, 7, 0, 25, 7, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 0, 11, 0, 9, 11, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 26, 11, 0, MAXCOL, 11, 0 ) );
+ aData.aTopEnvelope.push_back( ScRange( 15, 14, 0, 18, 14, 0 ) );
+
+ aData.aBottomEnvelope.push_back( ScRange( 0, 6, 0, 16, 6, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 21, 6, 0, MAXCOL, 6, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 15, 10, 0, 18, 10, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 0, 13, 0, 9, 13, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 26, 13, 0, MAXCOL, 13, 0 ) );
+ aData.aBottomEnvelope.push_back( ScRange( 10, 21, 0, 25, 21, 0 ) );
aData.aColsWithOneMark.emplace_back( 19, 8, 0, 0, 20, 0 );
aData.aColsWithOneMark.emplace_back( 20, 8, 0, 0, 20, 0 );
diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx
index 1e0236a549b1..0858f7a358af 100644
--- a/sc/qa/unit/rangelst_test.cxx
+++ b/sc/qa/unit/rangelst_test.cxx
@@ -410,24 +410,24 @@ void Test::testDeleteArea_0Ranges()
void Test::testJoin_Case1()
{
ScRangeList aList;
- aList.push_back(new ScRange(1,1,0,3,3,0));
+ aList.push_back(ScRange(1,1,0,3,3,0));
aList.Join(ScRange(4,1,0,6,3,0));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL( ScRange(1,1,0,6,3,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL( ScRange(1,1,0,6,3,0), aList[0]);
}
void Test::testJoin_Case2()
{
ScRangeList aList;
- aList.push_back(new ScRange(1,1,0,3,3,0));
- aList.push_back(new ScRange(4,1,0,6,3,0));
- aList.push_back(new ScRange(7,1,0,9,3,0));
+ aList.push_back(ScRange(1,1,0,3,3,0));
+ aList.push_back(ScRange(4,1,0,6,3,0));
+ aList.push_back(ScRange(7,1,0,9,3,0));
- aList.Join(*aList[2], true);
+ aList.Join(aList[2], true);
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,9,3,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,9,3,0), aList[0]);
}
void Test::testJoin_Case3()
@@ -438,7 +438,7 @@ void Test::testJoin_Case3()
// The second one should have been swallowed by the first one
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,6,6,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,6,6,0), aList[0]);
// Add a disjoint one
aList.Join(ScRange(8,8,0,9,9,0));
@@ -446,9 +446,9 @@ void Test::testJoin_Case3()
// Should be two ones now
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), aList.size());
// The first one should still be as is
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,6,6,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,6,6,0), aList[0]);
// Ditto for the second one
- CPPUNIT_ASSERT_EQUAL(ScRange(8,8,0,9,9,0), *aList[1]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(8,8,0,9,9,0), aList[1]);
}
void Test::testJoin_Case4()
@@ -460,14 +460,14 @@ void Test::testJoin_Case4()
// The one range in the list should have been extended
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,2,8,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,2,8,0), aList[0]);
// Join a range that overlaps it and extends it horizontally
aList.Join(ScRange(2,1,0,4,8,0));
// Again, should have just been extended
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,4,8,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,4,8,0), aList[0]);
// And then the same but on top / to the left of existing range
ScRangeList aList2;
@@ -475,12 +475,12 @@ void Test::testJoin_Case4()
aList2.Join(ScRange(4,1,0,8,6,0));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList2.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(4,1,0,8,8,0), *aList2[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(4,1,0,8,8,0), aList2[0]);
aList2.Join(ScRange(1,1,0,6,8,0));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList2.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,8,8,0), *aList2[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(1,1,0,8,8,0), aList2[0]);
}
void Test::testJoin_Case5()
@@ -491,14 +491,14 @@ void Test::testJoin_Case5()
// Nothing special so far, two disjoint ranges
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(0,0,0,4,4,0), *aList[0]);
- CPPUNIT_ASSERT_EQUAL(ScRange(8,0,0,10,4,0), *aList[1]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(0,0,0,4,4,0), aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(8,0,0,10,4,0), aList[1]);
// This should join the two ranges into one
aList.Join(ScRange(5,0,0,9,4,0));
CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
- CPPUNIT_ASSERT_EQUAL(ScRange(0,0,0,10,4,0), *aList[0]);
+ CPPUNIT_ASSERT_EQUAL(ScRange(0,0,0,10,4,0), aList[0]);
}
void Test::testUpdateReference_DeleteRow()
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index d2544ab010fd..2b03df58ad9f 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -355,9 +355,9 @@ void Test::testRangeList()
m_pDoc->InsertTab(0, "foo");
ScRangeList aRL;
- aRL.Append(ScRange(1,1,0,3,10,0));
+ aRL.push_back(ScRange(1,1,0,3,10,0));
CPPUNIT_ASSERT_EQUAL_MESSAGE("List should have one range.", size_t(1), aRL.size());
- const ScRange* p = aRL[0];
+ const ScRange* p = &aRL[0];
CPPUNIT_ASSERT_MESSAGE("Failed to get the range object.", p);
CPPUNIT_ASSERT_MESSAGE("Wrong range.", p->aStart == ScAddress(1,1,0) && p->aEnd == ScAddress(3,10,0));
@@ -582,8 +582,8 @@ void Test::testSelectionFunction()
// Select B2:B8 & D2:D8 disjoint region.
ScRangeList aRanges;
- aRanges.Append(ScRange(1,1,0,1,7,0)); // B2:B8
- aRanges.Append(ScRange(3,1,0,3,7,0)); // D2:D8
+ aRanges.push_back(ScRange(1,1,0,1,7,0)); // B2:B8
+ aRanges.push_back(ScRange(3,1,0,3,7,0)); // D2:D8
ScMarkData aMark;
aMark.MarkFromRangeList(aRanges, true);
@@ -703,8 +703,8 @@ void Test::testSelectionFunction()
// Mark B2 and C3 on first sheet.
aRanges.RemoveAll();
- aRanges.Append(ScRange(1,1,0)); // B2
- aRanges.Append(ScRange(2,2,0)); // C3
+ aRanges.push_back(ScRange(1,1,0)); // B2
+ aRanges.push_back(ScRange(2,2,0)); // C3
aMark.MarkFromRangeList(aRanges, true);
// Additionally select third sheet.
aMark.SelectTable(2, true);
@@ -3566,9 +3566,9 @@ void Test::testCopyPasteMultiRange()
// Copy A2:B2, A4:B4, and A6:B6 to clipboard.
ScDocument aClipDoc(SCDOCMODE_CLIP);
ScClipParam aClipParam;
- aClipParam.maRanges.Append(ScRange(0,1,0,1,1,0)); // A2:B2
- aClipParam.maRanges.Append(ScRange(0,3,0,1,3,0)); // A4:B4
- aClipParam.maRanges.Append(ScRange(0,5,0,1,5,0)); // A6:B6
+ aClipParam.maRanges.push_back(ScRange(0,1,0,1,1,0)); // A2:B2
+ aClipParam.maRanges.push_back(ScRange(0,3,0,1,3,0)); // A4:B4
+ aClipParam.maRanges.push_back(ScRange(0,5,0,1,5,0)); // A6:B6
aClipParam.meDirection = ScClipParam::Row;
m_pDoc->CopyToClip(aClipParam, &aClipDoc, &aMark, false, false);
diff --git a/sc/qa/unit/ucalc_condformat.cxx b/sc/qa/unit/ucalc_condformat.cxx
index 0e8721a0acb8..148e43416121 100644
--- a/sc/qa/unit/ucalc_condformat.cxx
+++ b/sc/qa/unit/ucalc_condformat.cxx
@@ -187,7 +187,7 @@ void Test::testCondFormatInsertDeleteSheets()
// ... and its range is B2:B4.
ScRangeList aCheckRange = pCheck->GetRange();
CPPUNIT_ASSERT_EQUAL_MESSAGE("This should be a single range.", size_t(1), aCheckRange.size());
- const ScRange* pRange = aCheckRange[0];
+ const ScRange* pRange = &aCheckRange[0];
CPPUNIT_ASSERT(pRange);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Format should be applied to B2:B4.", ScRange(1,1,0,1,3,0), *pRange);
@@ -205,7 +205,7 @@ void Test::testCondFormatInsertDeleteSheets()
// Make sure the range also got shifted.
aCheckRange = pCheck->GetRange();
CPPUNIT_ASSERT_EQUAL_MESSAGE("This should be a single range.", size_t(1), aCheckRange.size());
- pRange = aCheckRange[0];
+ pRange = &aCheckRange[0];
CPPUNIT_ASSERT(pRange);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Format should be applied to B2:B4 on the 2nd sheet after the sheet insertion.", ScRange(1,1,1,1,3,1), *pRange);
@@ -221,7 +221,7 @@ void Test::testCondFormatInsertDeleteSheets()
// Make sure the range got shifted back.
aCheckRange = pCheck->GetRange();
CPPUNIT_ASSERT_EQUAL_MESSAGE("This should be a single range.", size_t(1), aCheckRange.size());
- pRange = aCheckRange[0];
+ pRange = &aCheckRange[0];
CPPUNIT_ASSERT(pRange);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Format should be applied to B2:B4 on the 1st sheet after the sheet removal.", ScRange(1,1,0,1,3,0), *pRange);
@@ -238,7 +238,7 @@ void Test::testCondFormatInsertDeleteSheets()
aCheckRange = pCheck->GetRange();
CPPUNIT_ASSERT_EQUAL_MESSAGE("This should be a single range.", size_t(1), aCheckRange.size());
- pRange = aCheckRange[0];
+ pRange = &aCheckRange[0];
CPPUNIT_ASSERT(pRange);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Format should be applied to B2:B4 on the 2nd sheet after the undo of the sheet removal.", ScRange(1,1,1,1,3,1), *pRange);
diff --git a/sc/source/core/data/clipparam.cxx b/sc/source/core/data/clipparam.cxx
index 51738c9532e3..b33c4998c10b 100644
--- a/sc/source/core/data/clipparam.cxx
+++ b/sc/source/core/data/clipparam.cxx
@@ -32,7 +32,7 @@ ScClipParam::ScClipParam(const ScRange& rRange, bool bCutMode) :
mbCutMode(bCutMode),
mnSourceDocID(0)
{
- maRanges.Append(rRange);
+ maRanges.push_back(rRange);
}
bool ScClipParam::isMultiRange() const
@@ -52,15 +52,15 @@ SCCOL ScClipParam::getPasteColSize()
SCCOL nColSize = 0;
for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i )
{
- ScRange* p = maRanges[ i ];
- nColSize += p->aEnd.Col() - p->aStart.Col() + 1;
+ const ScRange& rRange = maRanges[ i ];
+ nColSize += rRange.aEnd.Col() - rRange.aStart.Col() + 1;
}
return nColSize;
}
case ScClipParam::Row:
{
// We assume that all ranges have identical column size.
- const ScRange& rRange = *maRanges.front();
+ const ScRange& rRange = maRanges.front();
return rRange.aEnd.Col() - rRange.aStart.Col() + 1;
}
case ScClipParam::Unspecified:
@@ -80,7 +80,7 @@ SCROW ScClipParam::getPasteRowSize()
case ScClipParam::Column:
{
// We assume that all ranges have identical row size.
- const ScRange& rRange = *maRanges.front();
+ const ScRange& rRange = maRanges.front();
return rRange.aEnd.Row() - rRange.aStart.Row() + 1;
}
case ScClipParam::Row:
@@ -88,8 +88,8 @@ SCROW ScClipParam::getPasteRowSize()
SCROW nRowSize = 0;
for ( size_t i = 0, nListSize = maRanges.size(); i < nListSize; ++i )
{
- ScRange* p = maRanges[ i ];
- nRowSize += p->aEnd.Row() - p->aStart.Row() + 1;
+ const ScRange& rRange = maRanges[ i ];
+ nRowSize += rRange.aEnd.Row() - rRange.aStart.Row() + 1;
}
return nRowSize;
}
@@ -123,24 +123,24 @@ void ScClipParam::transpose()
ScRangeList aNewRanges;
if (!maRanges.empty())
{
- ScRange* p = maRanges.front();
- SCCOL nColOrigin = p->aStart.Col();
- SCROW nRowOrigin = p->aStart.Row();
+ const ScRange & rRange1 = maRanges.front();
+ SCCOL nColOrigin = rRange1.aStart.Col();
+ SCROW nRowOrigin = rRange1.aStart.Row();
for ( size_t i = 0, n = maRanges.size(); i < n; ++i )
{
- p = maRanges[ i ];
- SCCOL nColDelta = p->aStart.Col() - nColOrigin;
- SCROW nRowDelta = p->aStart.Row() - nRowOrigin;
+ const ScRange & rRange = maRanges[ i ];
+ SCCOL nColDelta = rRange.aStart.Col() - nColOrigin;
+ SCROW nRowDelta = rRange.aStart.Row() - nRowOrigin;
SCCOL nCol1 = 0;
- SCCOL nCol2 = static_cast<SCCOL>(p->aEnd.Row() - p->aStart.Row());
+ SCCOL nCol2 = static_cast<SCCOL>(rRange.aEnd.Row() - rRange.aStart.Row());
SCROW nRow1 = 0;
- SCROW nRow2 = static_cast<SCROW>(p->aEnd.Col() - p->aStart.Col());
+ SCROW nRow2 = static_cast<SCROW>(rRange.aEnd.Col() - rRange.aStart.Col());
nCol1 += static_cast<SCCOL>(nRowDelta);
nCol2 += static_cast<SCCOL>(nRowDelta);
nRow1 += static_cast<SCROW>(nColDelta);
nRow2 += static_cast<SCROW>(nColDelta);
- aNewRanges.push_back( new ScRange(nCol1, nRow1, p->aStart.Tab(), nCol2, nRow2, p->aStart.Tab() ) );
+ aNewRanges.push_back( ScRange(nCol1, nRow1, rRange.aStart.Tab(), nCol2, nRow2, rRange.aStart.Tab() ) );
}
}
maRanges = aNewRanges;
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index a07f3ac0f1e6..8826fada3d04 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -393,13 +393,13 @@ std::vector<double>& ScColorFormat::getValues() const
const ScRangeList& aRanges = GetRange();
for(size_t i = 0; i < n; ++i)
{
- const ScRange* pRange = aRanges[i];
- SCTAB nTab = pRange->aStart.Tab();
+ const ScRange & rRange = aRanges[i];
+ SCTAB nTab = rRange.aStart.Tab();
- SCCOL nColStart = pRange->aStart.Col();
- SCROW nRowStart = pRange->aStart.Row();
- SCCOL nColEnd = pRange->aEnd.Col();
- SCROW nRowEnd = pRange->aEnd.Row();
+ SCCOL nColStart = rRange.aStart.Col();
+ SCROW nRowStart = rRange.aStart.Row();
+ SCCOL nColEnd = rRange.aEnd.Col();
+ SCROW nRowEnd = rRange.aEnd.Row();
if(nRowEnd == MAXROW)
{
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 412d62385dcb..2dad0de39037 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -207,7 +207,7 @@ bool ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const
ScRangeList aRanges = rMark.GetMarkedRanges();
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
- const ScRange& r = *aRanges[i];
+ const ScRange& r = aRanges[i];
if (nTab < r.aStart.Tab() || r.aEnd.Tab() < nTab)
continue;
diff --git a/sc/source/core/data/columnspanset.cxx b/sc/source/core/data/columnspanset.cxx
index a3f338abbb9b..d7d7718bbb84 100644
--- a/sc/source/core/data/columnspanset.cxx
+++ b/sc/source/core/data/columnspanset.cxx
@@ -337,15 +337,15 @@ void SingleColumnSpanSet::scan(const ScRangeList& rRanges, SCTAB nTab, SCCOL nCo
{
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange* p = rRanges[i];
- if (nTab < p->aStart.Tab() || p->aEnd.Tab() < nTab)
+ const ScRange & rRange = rRanges[i];
+ if (nTab < rRange.aStart.Tab() || rRange.aEnd.Tab() < nTab)
continue;
- if (nCol < p->aStart.Col() || p->aEnd.Col() < nCol)
+ if (nCol < rRange.aStart.Col() || rRange.aEnd.Col() < nCol)
// This column is not in this range. Skip it.
continue;
- maSpans.insert_back(p->aStart.Row(), p->aEnd.Row()+1, true);
+ maSpans.insert_back(rRange.aStart.Row(), rRange.aEnd.Row()+1, true);
}
}
diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index c09e5e90b250..c07d7672d789 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -146,11 +146,8 @@ void start_listen_to(ScFormulaListener& rListener, const ScTokenArray* pTokens,
size_t n = rRangeList.size();
for (size_t i = 0; i < n; ++i)
{
- const ScRange* pRange = rRangeList[i];
- if (!pRange)
- continue;
-
- rListener.addTokenArray(pTokens, *pRange);
+ const ScRange & rRange = rRangeList[i];
+ rListener.addTokenArray(pTokens, rRange);
}
}
@@ -784,12 +781,12 @@ void ScConditionEntry::FillCache() const
size_t nListCount = rRanges.size();
for( size_t i = 0; i < nListCount; i++ )
{
- const ScRange *aRange = rRanges[i];
- SCROW nRow = aRange->aEnd.Row();
- SCCOL nCol = aRange->aEnd.Col();
- SCCOL nColStart = aRange->aStart.Col();
- SCROW nRowStart = aRange->aStart.Row();
- SCTAB nTab = aRange->aStart.Tab();
+ const ScRange & rRange = rRanges[i];
+ SCROW nRow = rRange.aEnd.Row();
+ SCCOL nCol = rRange.aEnd.Col();
+ SCCOL nColStart = rRange.aStart.Col();
+ SCROW nRowStart = rRange.aStart.Row();
+ SCTAB nTab = rRange.aStart.Tab();
// temporary fix to workaround slow duplicate entry
// conditions, prevent to use a whole row
@@ -1899,15 +1896,15 @@ void ScConditionalFormat::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt )
for (size_t i = 0, n = maRanges.size(); i < n; ++i)
{
// We assume that the start and end sheet indices are equal.
- ScRange* pRange = maRanges[i];
- SCTAB nTab = pRange->aStart.Tab();
+ ScRange & rRange = maRanges[i];
+ SCTAB nTab = rRange.aStart.Tab();
if (nTab < rCxt.mnInsertPos)
// Unaffected.
continue;
- pRange->aStart.IncTab(rCxt.mnSheets);
- pRange->aEnd.IncTab(rCxt.mnSheets);
+ rRange.aStart.IncTab(rCxt.mnSheets);
+ rRange.aEnd.IncTab(rCxt.mnSheets);
}
for (auto it = maEntries.cbegin(); it != maEntries.cend(); ++it)
@@ -1919,8 +1916,8 @@ void ScConditionalFormat::UpdateDeleteTab( sc::RefUpdateDeleteTabContext& rCxt )
for (size_t i = 0, n = maRanges.size(); i < n; ++i)
{
// We assume that the start and end sheet indices are equal.
- ScRange* pRange = maRanges[i];
- SCTAB nTab = pRange->aStart.Tab();
+ ScRange & rRange = maRanges[i];
+ SCTAB nTab = rRange.aStart.Tab();
if (nTab < rCxt.mnDeletePos)
// Left of the deleted sheet(s). Unaffected.
@@ -1929,14 +1926,14 @@ void ScConditionalFormat::UpdateDeleteTab( sc::RefUpdateDeleteTabContext& rCxt )
if (nTab <= rCxt.mnDeletePos+rCxt.mnSheets-1)
{
// On the deleted sheet(s).
- pRange->aStart.SetTab(-1);
- pRange->aEnd.SetTab(-1);
+ rRange.aStart.SetTab(-1);
+ rRange.aEnd.SetTab(-1);
continue;
}
// Right of the deleted sheet(s). Adjust the sheet indices.
- pRange->aStart.IncTab(-1*rCxt.mnSheets);
- pRange->aEnd.IncTab(-1*rCxt.mnSheets);
+ rRange.aStart.IncTab(-1*rCxt.mnSheets);
+ rRange.aEnd.IncTab(-1*rCxt.mnSheets);
}
for (auto it = maEntries.cbegin(); it != maEntries.cend(); ++it)
@@ -1950,8 +1947,8 @@ void ScConditionalFormat::UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt )
SCTAB nMaxTab = std::max<SCTAB>(rCxt.mnOldPos, rCxt.mnNewPos);
for(size_t i = 0; i < n; ++i)
{
- ScRange* pRange = maRanges[i];
- SCTAB nTab = pRange->aStart.Tab();
+ ScRange & rRange = maRanges[i];
+ SCTAB nTab = rRange.aStart.Tab();
if(nTab < nMinTab || nTab > nMaxTab)
{
continue;
@@ -1959,20 +1956,20 @@ void ScConditionalFormat::UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt )
if (nTab == rCxt.mnOldPos)
{
- pRange->aStart.SetTab(rCxt.mnNewPos);
- pRange->aEnd.SetTab(rCxt.mnNewPos);
+ rRange.aStart.SetTab(rCxt.mnNewPos);
+ rRange.aEnd.SetTab(rCxt.mnNewPos);
continue;
}
if (rCxt.mnNewPos < rCxt.mnOldPos)
{
- pRange->aStart.IncTab();
- pRange->aEnd.IncTab();
+ rRange.aStart.IncTab();
+ rRange.aEnd.IncTab();
}
else
{
- pRange->aStart.IncTab(-1);
- pRange->aEnd.IncTab(-1);
+ rRange.aStart.IncTab(-1);
+ rRange.aEnd.IncTab(-1);
}
}
@@ -1985,7 +1982,7 @@ void ScConditionalFormat::DeleteArea( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCR
if (maRanges.empty())
return;
- SCTAB nTab = maRanges[0]->aStart.Tab();
+ SCTAB nTab = maRanges[0].aStart.Tab();
maRanges.DeleteArea( nCol1, nRow1, nTab, nCol2, nRow2, nTab );
}
@@ -2204,8 +2201,7 @@ ScRangeList ScConditionalFormatList::GetCombinedRange() const
const ScRangeList& rRange = itr->GetRange();
for (size_t i = 0, n = rRange.size(); i < n; ++i)
{
- if (rRange[i])
- aRange.Join(*rRange[i]);
+ aRange.Join(rRange[i]);
}
}
return aRange;
@@ -2228,7 +2224,7 @@ void ScConditionalFormatList::AddToDocument(ScDocument* pDoc) const
if (rRange.empty())
continue;
- SCTAB nTab = rRange.front()->aStart.Tab();
+ SCTAB nTab = rRange.front().aStart.Tab();
pDoc->AddCondFormatData(rRange, nTab, itr->GetKey());
}
}
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index b4f300b352b3..ff79d99e347e 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -824,8 +824,8 @@ void ScDocument::CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, bool bNewScenario
bool bTouched = false;
for ( size_t nR=0, nRangeCount = aRanges.size(); nR < nRangeCount && !bTouched; nR++ )
{
- const ScRange* pRange = aRanges[ nR ];
- if ( maTabs[nTab]->HasScenarioRange( *pRange ) )
+ const ScRange& rRange = aRanges[ nR ];
+ if ( maTabs[nTab]->HasScenarioRange( rRange ) )
bTouched = true;
}
if (bTouched)
@@ -1117,7 +1117,7 @@ void ScDocument::UpdateTranspose( const ScAddress& rDestPos, ScDocument* pClipDo
ScRange aSource;
ScClipParam& rClipParam = GetClipParam();
if (!rClipParam.maRanges.empty())
- aSource = *rClipParam.maRanges.front();
+ aSource = rClipParam.maRanges.front();
ScAddress aDest = rDestPos;
SCTAB nClipTab = 0;
diff --git a/sc/source/core/data/documen5.cxx b/sc/source/core/data/documen5.cxx
index f92b74087450..bb46fe857fef 100644
--- a/sc/source/core/data/documen5.cxx
+++ b/sc/source/core/data/documen5.cxx
@@ -137,8 +137,7 @@ void ScDocument::UpdateChartArea( const OUString& rChartName,
const ScRange& rNewArea, bool bColHeaders, bool bRowHeaders,
bool bAdd )
{
- ScRangeListRef aRLR( new ScRangeList );
- aRLR->Append( rNewArea );
+ ScRangeListRef aRLR( new ScRangeList(rNewArea) );
UpdateChartArea( rChartName, aRLR, bColHeaders, bRowHeaders, bAdd );
}
@@ -295,7 +294,7 @@ void ScDocument::UpdateChartArea( const OUString& rChartName,
aNewRanges->Parse( aRangesStr, this );
for ( size_t nAdd = 0, nAddCount = rNewList->size(); nAdd < nAddCount; ++nAdd )
- aNewRanges->Append( *(*rNewList)[nAdd] );
+ aNewRanges->push_back( (*rNewList)[nAdd] );
}
else
{
@@ -388,7 +387,7 @@ void ScDocument::RestoreChartListener( const OUString& rName )
ScRange aRange;
ScAddress::Details aDetails(GetAddressConvention(), 0, 0);
if ( aRange.ParseAny( aRepresentations[i], this, aDetails ) & ScRefFlags::VALID )
- aRanges->Append( aRange );
+ aRanges->push_back( aRange );
}
pChartListenerCollection->ChangeListening( rName, aRanges );
@@ -414,13 +413,13 @@ void ScDocument::UpdateChartRef( UpdateRefMode eUpdateRefMode,
bool bDataChanged = false;
for ( size_t i = 0, nListSize = aRLR->size(); i < nListSize; ++i )
{
- ScRange* pR = (*aRLR)[i];
- SCCOL theCol1 = pR->aStart.Col();
- SCROW theRow1 = pR->aStart.Row();
- SCTAB theTab1 = pR->aStart.Tab();
- SCCOL theCol2 = pR->aEnd.Col();
- SCROW theRow2 = pR->aEnd.Row();
- SCTAB theTab2 = pR->aEnd.Tab();
+ ScRange& rRange = (*aRLR)[i];
+ SCCOL theCol1 = rRange.aStart.Col();
+ SCROW theRow1 = rRange.aStart.Row();
+ SCTAB theTab1 = rRange.aStart.Tab();
+ SCCOL theCol2 = rRange.aEnd.Col();
+ SCROW theRow2 = rRange.aEnd.Row();
+ SCTAB theTab2 = rRange.aEnd.Tab();
ScRefUpdateRes eRes = ScRefUpdate::Update(
this, eUpdateRefMode,
nCol1,nRow1,nTab1, nCol2,nRow2,nTab2,
@@ -430,24 +429,24 @@ void ScDocument::UpdateChartRef( UpdateRefMode eUpdateRefMode,
if ( eRes != UR_NOTHING )
{
bChanged = true;
- aNewRLR->Append( ScRange(
+ aNewRLR->push_back( ScRange(
theCol1, theRow1, theTab1,
theCol2, theRow2, theTab2 ));
if ( eUpdateRefMode == URM_INSDEL
&& !bDataChanged
&& (eRes == UR_INVALID ||
- ((pR->aEnd.Col() - pR->aStart.Col()
+ ((rRange.aEnd.Col() - rRange.aStart.Col()
!= theCol2 - theCol1)
- || (pR->aEnd.Row() - pR->aStart.Row()
+ || (rRange.aEnd.Row() - rRange.aStart.Row()
!= theRow2 - theRow1)
- || (pR->aEnd.Tab() - pR->aStart.Tab()
+ || (rRange.aEnd.Tab() - rRange.aStart.Tab()
!= theTab2 - theTab1))) )
{
bDataChanged = true;
}
}
else
- aNewRLR->Append( *pR );
+ aNewRLR->push_back( rRange );
}
if ( bChanged )
{
diff --git a/sc/source/core/data/documen6.cxx b/sc/source/core/data/documen6.cxx
index 0a882e31857c..d4b8a41db979 100644
--- a/sc/source/core/data/documen6.cxx
+++ b/sc/source/core/data/documen6.cxx
@@ -191,7 +191,7 @@ SvtScriptType ScDocument::GetRangeScriptType( const ScRangeList& rRanges )
sc::ColumnSpanSet aSet(false);
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange& rRange = *rRanges[i];
+ const ScRange& rRange = rRanges[i];
SCTAB nTab = rRange.aStart.Tab();
SCROW nRow1 = rRange.aStart.Row();
SCROW nRow2 = rRange.aEnd.Row();
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 7ebdb404d7e8..aa1ef7129532 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1151,7 +1151,7 @@ void ScDocument::LimitChartIfAll( ScRangeListRef& rRangeList )
{
for ( size_t i = 0, nCount = rRangeList->size(); i < nCount; i++ )
{
- ScRange aRange( *(*rRangeList)[i] );
+ ScRange aRange( (*rRangeList)[i] );
if ( ( aRange.aStart.Col() == 0 && aRange.aEnd.Col() == MAXCOL ) ||
( aRange.aStart.Row() == 0 && aRange.aEnd.Row() == MAXROW ) )
{
@@ -1167,7 +1167,7 @@ void ScDocument::LimitChartIfAll( ScRangeListRef& rRangeList )
aRange.aEnd.SetCol( nEndCol );
aRange.aEnd.SetRow( nEndRow );
}
- aNew->Append(aRange);
+ aNew->push_back(aRange);
}
}
else
@@ -2330,7 +2330,7 @@ void ScDocument::CopyTabToClip(SCCOL nCol1, SCROW nRow1,
ScClipParam& rClipParam = pClipDoc->GetClipParam();
pClipDoc->aDocName = aDocName;
rClipParam.maRanges.RemoveAll();
- rClipParam.maRanges.Append(ScRange(nCol1, nRow1, 0, nCol2, nRow2, 0));
+ rClipParam.maRanges.push_back(ScRange(nCol1, nRow1, 0, nCol2, nRow2, 0));
pClipDoc->ResetClip( this, nTab );
sc::CopyToClipContext aCxt(*pClipDoc, false);
@@ -2748,7 +2748,7 @@ void ScDocument::CopyNonFilteredFromClip(
SCROW nSourceRow = rClipStartRow;
SCROW nSourceEnd = 0;
if (!rCxt.getClipDoc()->GetClipParam().maRanges.empty())
- nSourceEnd = rCxt.getClipDoc()->GetClipParam().maRanges.front()->aEnd.Row();
+ nSourceEnd = rCxt.getClipDoc()->GetClipParam().maRanges.front().aEnd.Row();
SCROW nDestRow = nRow1;
while ( nSourceRow <= nSourceEnd && nDestRow <= nRow2 )
@@ -2885,7 +2885,7 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar
ScRangeList aLocalRangeList;
if (!pDestRanges)
{
- aLocalRangeList.Append( rDestRange);
+ aLocalRangeList.push_back( rDestRange);
pDestRanges = &aLocalRangeList;
}
@@ -2898,11 +2898,11 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar
SCROW nClipEndRow = aClipRange.aEnd.Row();
for ( size_t nRange = 0; nRange < pDestRanges->size(); ++nRange )
{
- const ScRange* pRange = (*pDestRanges)[nRange];
- SCCOL nCol1 = pRange->aStart.Col();
- SCROW nRow1 = pRange->aStart.Row();
- SCCOL nCol2 = pRange->aEnd.Col();
- SCROW nRow2 = pRange->aEnd.Row();
+ const ScRange & rRange = (*pDestRanges)[nRange];
+ SCCOL nCol1 = rRange.aStart.Col();
+ SCROW nRow1 = rRange.aStart.Row();
+ SCCOL nCol2 = rRange.aEnd.Col();
+ SCROW nRow2 = rRange.aEnd.Row();
if (bSkipAttrForEmpty)
{
@@ -3067,12 +3067,12 @@ void ScDocument::CopyMultiRangeFromClip(
for (size_t i = 0, n = rClipParam.maRanges.size(); i < n; ++i)
{
- ScRange* p = rClipParam.maRanges[i];
+ const ScRange & rRange = rClipParam.maRanges[i];
- SCROW nRowCount = p->aEnd.Row() - p->aStart.Row() + 1;
- SCCOL nDx = static_cast<SCCOL>(nCol1 - p->aStart.Col());
- SCROW nDy = static_cast<SCROW>(nRow1 - p->aStart.Row());
- SCCOL nCol2 = nCol1 + p->aEnd.Col() - p->aStart.Col();
+ SCROW nRowCount = rRange.aEnd.Row() - rRange.aStart.Row() + 1;
+ SCCOL nDx = static_cast<SCCOL>(nCol1 - rRange.aStart.Col());
+ SCROW nDy = static_cast<SCROW>(nRow1 - rRange.aStart.Row());
+ SCCOL nCol2 = nCol1 + rRange.aEnd.Col() - rRange.aStart.Col();
SCROW nEndRow = nRow1 + nRowCount - 1;
CopyBlockFromClip(aCxt, nCol1, nRow1, nCol2, nEndRow, rMark, nDx, nDy);
@@ -3084,7 +3084,7 @@ void ScDocument::CopyMultiRangeFromClip(
nRow1 += nRowCount;
break;
case ScClipParam::Column:
- nCol1 += p->aEnd.Col() - p->aStart.Col() + 1;
+ nCol1 += rRange.aEnd.Col() - rRange.aStart.Col() + 1;
break;
default:
;
@@ -3119,7 +3119,7 @@ void ScDocument::SetClipArea( const ScRange& rArea, bool bCut )
{
ScClipParam& rClipParam = GetClipParam();
rClipParam.maRanges.RemoveAll();
- rClipParam.maRanges.Append(rArea);
+ rClipParam.maRanges.push_back(rArea);
rClipParam.mbCutMode = bCut;
}
else
@@ -3141,22 +3141,22 @@ void ScDocument::GetClipArea(SCCOL& nClipX, SCROW& nClipY, bool bIncludeFiltered
// No clip range. Bail out.
return;
- ScRange* p = rClipRanges.front();
- SCCOL nStartCol = p->aStart.Col();
- SCCOL nEndCol = p->aEnd.Col();
- SCROW nStartRow = p->aStart.Row();
- SCROW nEndRow = p->aEnd.Row();
+ ScRange & rRange = rClipRanges.front();
+ SCCOL nStartCol = rRange.aStart.Col();
+ SCCOL nEndCol = rRange.aEnd.Col();
+ SCROW nStartRow = rRange.aStart.Row();
+ SCROW nEndRow = rRange.aEnd.Row();
for ( size_t i = 1, n = rClipRanges.size(); i < n; ++i )
{
- p = rClipRanges[ i ];
- if (p->aStart.Col() < nStartCol)
- nStartCol = p->aStart.Col();
- if (p->aStart.Row() < nStartRow)
- nStartRow = p->aStart.Row();
- if (p->aEnd.Col() > nEndCol)
- nEndCol = p->aEnd.Col();
- if (p->aEnd.Row() < nEndRow)
- nEndRow = p->aEnd.Row();
+ rRange = rClipRanges[ i ];
+ if (rRange.aStart.Col() < nStartCol)
+ nStartCol = rRange.aStart.Col();
+ if (rRange.aStart.Row() < nStartRow)
+ nStartRow = rRange.aStart.Row();
+ if (rRange.aEnd.Col() > nEndCol)
+ nEndCol = rRange.aEnd.Col();
+ if (rRange.aEnd.Row() < nEndRow)
+ nEndRow = rRange.aEnd.Row();
}
nClipX = nEndCol - nStartCol;
@@ -3187,8 +3187,8 @@ void ScDocument::GetClipStart(SCCOL& nClipX, SCROW& nClipY)
ScRangeList& rClipRanges = GetClipParam().maRanges;
if ( !rClipRanges.empty() )
{
- nClipX = rClipRanges.front()->aStart.Col();
- nClipY = rClipRanges.front()->aStart.Row();
+ nClipX = rClipRanges.front().aStart.Col();
+ nClipY = rClipRanges.front().aStart.Row();
}
}
else
@@ -3210,8 +3210,8 @@ bool ScDocument::HasClipFilteredRows()
for ( size_t i = 0, n = rClipRanges.size(); i < n; ++i )
{
- ScRange* p = rClipRanges[ i ];
- bool bAnswer = maTabs[nCountTab]->HasFilteredRows(p->aStart.Row(), p->aEnd.Row());
+ ScRange & rRange = rClipRanges[ i ];
+ bool bAnswer = maTabs[nCountTab]->HasFilteredRows(rRange.aStart.Row(), rRange.aEnd.Row());
if (bAnswer)
return true;
}
@@ -3910,7 +3910,7 @@ void ScDocument::InterpretDirtyCells( const ScRangeList& rRanges )
for (size_t nPos=0, nRangeCount = rRanges.size(); nPos < nRangeCount; nPos++)
{
- const ScRange& rRange = *rRanges[nPos];
+ const ScRange& rRange = rRanges[nPos];
for (SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); ++nTab)
{
ScTable* pTab = FetchTable(nTab);
@@ -5104,16 +5104,16 @@ void ScDocument::GetSelectionFrame( const ScMarkData& rMark,
bool bMultipleRows = false, bMultipleCols = false;
for( size_t nRangeIdx = 0; nRangeIdx < nRangeCount; ++nRangeIdx )
{
- const ScRange* pRange = aRangeList[ nRangeIdx ];
- bMultipleRows = ( bMultipleRows || ( pRange->aStart.Row() != pRange->aEnd.Row() ) );
- bMultipleCols = ( bMultipleCols || ( pRange->aStart.Col() != pRange->aEnd.Col() ) );
+ const ScRange rRange = aRangeList[ nRangeIdx ];
+ bMultipleRows = ( bMultipleRows || ( rRange.aStart.Row() != rRange.aEnd.Row() ) );
+ bMultipleCols = ( bMultipleCols || ( rRange.aStart.Col() != rRange.aEnd.Col() ) );
SCTAB nMax = static_cast<SCTAB>(maTabs.size());
ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end();
for (; itr != itrEnd && *itr < nMax; ++itr)
if (maTabs[*itr])
maTabs[*itr]->MergeBlockFrame( &rLineOuter, &rLineInner, aFlags,
- pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
rLineInner.EnableHor( bMultipleRows );
rLineInner.EnableVer( bMultipleCols );
@@ -5725,10 +5725,10 @@ void ScDocument::ApplySelectionFrame( const ScMarkData& rMark,
{
for ( size_t j=0; j < nRangeCount; j++ )
{
- ScRange aRange = *aRangeList[ j ];
+ const ScRange & rRange = aRangeList[ j ];
maTabs[*itr]->ApplyBlockFrame( rLineOuter, pLineInner,
- aRange.aStart.Col(), aRange.aStart.Row(),
- aRange.aEnd.Col(), aRange.aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
}
}
@@ -5780,34 +5780,34 @@ void ScDocument::ApplySelectionFrame( const ScMarkData& rMark,
size_t nEnvelopeRangeCount = rRangeListTopEnvelope.size();
for ( size_t j=0; j < nEnvelopeRangeCount; j++ )
{
- const ScRange* pRange = rRangeListTopEnvelope[ j ];
+ const ScRange & rRange = rRangeListTopEnvelope[ j ];
maTabs[*itr1]->ApplyBlockFrame( aTop, &aTopInfo,
- pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
nEnvelopeRangeCount = rRangeListBottomEnvelope.size();
for ( size_t j=0; j < nEnvelopeRangeCount; j++ )
{
- const ScRange* pRange = rRangeListBottomEnvelope[ j ];
+ const ScRange & rRange = rRangeListBottomEnvelope[ j ];
maTabs[*itr1]->ApplyBlockFrame( aBottom, &aBottomInfo,
- pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
nEnvelopeRangeCount = rRangeListLeftEnvelope.size();
for ( size_t j=0; j < nEnvelopeRangeCount; j++ )
{
- const ScRange* pRange = rRangeListLeftEnvelope[ j ];
+ const ScRange & rRange = rRangeListLeftEnvelope[ j ];
maTabs[*itr1]->ApplyBlockFrame( aLeft, &aLeftInfo,
- pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
nEnvelopeRangeCount = rRangeListRightEnvelope.size();
for ( size_t j=0; j < nEnvelopeRangeCount; j++ )
{
- const ScRange* pRange = rRangeListRightEnvelope[ j ];
+ const ScRange & rRange = rRangeListRightEnvelope[ j ];
maTabs[*itr1]->ApplyBlockFrame( aRight, &aRightInfo,
- pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row() );
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() );
}
}
}
@@ -5892,9 +5892,8 @@ void ScDocument::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData&
rMark.FillRangeListWithMarks( &aRangeList, false);
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- const ScRange* pRange = aRangeList[i];
- if (pRange)
- EndListeningIntersectedGroups( aCxt, *pRange, &aGroupPos);
+ const ScRange & rRange = aRangeList[i];
+ EndListeningIntersectedGroups( aCxt, rRange, &aGroupPos);
}
aCxt.purgeEmptyBroadcasters();
}
@@ -5920,9 +5919,7 @@ void ScDocument::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData&
rMark.FillRangeListWithMarks( &aRangeList, false);
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- const ScRange* pRange = aRangeList[i];
- if (pRange)
- SetDirty( *pRange, true);
+ SetDirty( aRangeList[i], true);
}
//Notify listeners on top and bottom of the group that has been split
for (size_t i = 0; i < aGroupPos.size(); ++i) {
@@ -5953,10 +5950,10 @@ void ScDocument::DeleteSelectionTab(
rMark.FillRangeListWithMarks( &aRangeList, false);
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- const ScRange* pRange = aRangeList[i];
- if (pRange && pRange->aStart.Tab() <= nTab && nTab <= pRange->aEnd.Tab())
+ const ScRange & rRange = aRangeList[i];
+ if (rRange.aStart.Tab() <= nTab && nTab <= rRange.aEnd.Tab())
{
- ScRange aRange( *pRange);
+ ScRange aRange( rRange);
aRange.aStart.SetTab( nTab);
aRange.aEnd.SetTab( nTab);
EndListeningIntersectedGroups( aCxt, aRange, &aGroupPos);
@@ -5982,10 +5979,10 @@ void ScDocument::DeleteSelectionTab(
rMark.FillRangeListWithMarks( &aRangeList, false);
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- const ScRange* pRange = aRangeList[i];
- if (pRange && pRange->aStart.Tab() <= nTab && nTab <= pRange->aEnd.Tab())
+ const ScRange & rRange = aRangeList[i];
+ if (rRange.aStart.Tab() <= nTab && nTab <= rRange.aEnd.Tab())
{
- ScRange aRange( *pRange);
+ ScRange aRange( rRange);
aRange.aStart.SetTab( nTab);
aRange.aEnd.SetTab( nTab);
SetDirty( aRange, true);
@@ -6575,9 +6572,9 @@ void ScDocument::ForgetNoteCaptions( const ScRangeList& rRanges, bool bPreserveD
{
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange* p = rRanges[i];
- const ScAddress& s = p->aStart;
- const ScAddress& e = p->aEnd;
+ const ScRange & rRange = rRanges[i];
+ const ScAddress& s = rRange.aStart;
+ const ScAddress& e = rRange.aEnd;
for (SCTAB nTab = s.Tab(); nTab <= e.Tab(); ++nTab)
{
ScTable* pTab = FetchTable(nTab);
@@ -6598,11 +6595,11 @@ CommentCaptionState ScDocument::GetAllNoteCaptionsState( const ScRangeList& rRan
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange* pRange = rRanges[i];
+ const ScRange & rRange = rRanges[i];
- for( SCTAB nTab = pRange->aStart.Tab(); nTab <= pRange->aEnd.Tab(); ++nTab )
+ for( SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); ++nTab )
{
- aState = maTabs[nTab]->GetAllNoteCaptionsState( *pRange, aNotes );
+ aState = maTabs[nTab]->GetAllNoteCaptionsState( rRange, aNotes );
if (aState == CommentCaptionState::MIXED)
return aState;
@@ -6706,14 +6703,14 @@ void ScDocument::GetAllNoteEntries( SCTAB nTab, std::vector<sc::NoteEntry>& rNot
return pTab->GetAllNoteEntries( rNotes );
}
-void ScDocument::GetNotesInRange( const ScRangeList& rRange, std::vector<sc::NoteEntry>& rNotes ) const
+void ScDocument::GetNotesInRange( const ScRangeList& rRangeList, std::vector<sc::NoteEntry>& rNotes ) const
{
- for( size_t i = 0; i < rRange.size(); ++i)
+ for( size_t i = 0; i < rRangeList.size(); ++i)
{
- const ScRange* pRange = rRange[i];
- for( SCTAB nTab = pRange->aStart.Tab(); nTab <= pRange->aEnd.Tab(); ++nTab )
+ const ScRange & rRange = rRangeList[i];
+ for( SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); ++nTab )
{
- maTabs[nTab]->GetNotesInRange( *pRange, rNotes );
+ maTabs[nTab]->GetNotesInRange( rRange, rNotes );
}
}
}
@@ -6723,14 +6720,14 @@ void ScDocument::GetUnprotectedCells( ScRangeList& rRangeList, SCTAB nTab ) cons
maTabs[nTab]->GetUnprotectedCells( rRangeList );
}
-bool ScDocument::ContainsNotesInRange( const ScRangeList& rRange ) const
+bool ScDocument::ContainsNotesInRange( const ScRangeList& rRangeList ) const
{
- for( size_t i = 0; i < rRange.size(); ++i)
+ for( size_t i = 0; i < rRangeList.size(); ++i)
{
- const ScRange* pRange = rRange[i];
- for( SCTAB nTab = pRange->aStart.Tab(); nTab < pRange->aEnd.Tab(); ++nTab )
+ const ScRange & rRange = rRangeList[i];
+ for( SCTAB nTab = rRange.aStart.Tab(); nTab < rRange.aEnd.Tab(); ++nTab )
{
- bool bContainsNote = maTabs[nTab]->ContainsNotesInRange( *pRange );
+ bool bContainsNote = maTabs[nTab]->ContainsNotesInRange( rRange );
if(bContainsNote)
return true;
}
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index d15cd9d84108..341444525220 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -1426,8 +1426,8 @@ static bool lcl_IsAllInRange( const ::std::vector< ScRangeList >& rRangesVector,
const ScRangeList& rRanges = *aIt;
for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange aRange = *rRanges[ i ];
- if ( !rClipRange.In( aRange ) )
+ const ScRange & rRange = rRanges[ i ];
+ if ( !rClipRange.In( rRange ) )
{
return false; // at least one range is not valid
}
@@ -1448,13 +1448,13 @@ static bool lcl_MoveRanges( ::std::vector< ScRangeList >& rRangesVector, const S
ScRangeList& rRanges = *aIt;
for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange* pRange = rRanges[ i ];
- if ( rSourceRange.In( *pRange ) )
+ ScRange aRange = rRanges[ i ];
+ if ( rSourceRange.In( aRange ) )
{
SCCOL nDiffX = rDestPos.Col() - rSourceRange.aStart.Col();
SCROW nDiffY = rDestPos.Row() - rSourceRange.aStart.Row();
SCTAB nDiffZ = rDestPos.Tab() - rSourceRange.aStart.Tab();
- if (!pRange->Move( nDiffX, nDiffY, nDiffZ, aErrorRange))
+ if (!aRange.Move( nDiffX, nDiffY, nDiffZ, aErrorRange))
{
assert(!"can't move range");
}
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index ebaefc38f7d3..04cfe1c0bb3e 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -4291,12 +4291,12 @@ struct ScDependantsCalculator
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- const ScRange* pRange = aRangeList[i];
- assert(pRange->aStart.Tab() == pRange->aEnd.Tab());
- for (auto nCol = pRange->aStart.Col(); nCol <= pRange->aEnd.Col(); nCol++)
+ const ScRange & rRange = aRangeList[i];
+ assert(rRange.aStart.Tab() == rRange.aEnd.Tab());
+ for (auto nCol = rRange.aStart.Col(); nCol <= rRange.aEnd.Col(); nCol++)
{
- if (!mrDoc.HandleRefArrayForParallelism(ScAddress(nCol, pRange->aStart.Row(), pRange->aStart.Tab()),
- pRange->aEnd.Row() - pRange->aStart.Row() + 1))
+ if (!mrDoc.HandleRefArrayForParallelism(ScAddress(nCol, rRange.aStart.Row(), rRange.aStart.Tab()),
+ rRange.aEnd.Row() - rRange.aStart.Row() + 1))
return false;
}
}
diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx
index 73a22ae25760..ecd2b2ecaf13 100644
--- a/sc/source/core/data/markdata.cxx
+++ b/sc/source/core/data/markdata.cxx
@@ -341,7 +341,7 @@ void ScMarkData::MarkFromRangeList( const ScRangeList& rList, bool bReset )
size_t nCount = rList.size();
if ( nCount == 1 && !bMarked && !bMultiMarked )
{
- const ScRange& rRange = *rList[ 0 ];
+ const ScRange& rRange = rList[ 0 ];
SetMarkArea( rRange );
SelectTable( rRange.aStart.Tab(), true );
}
@@ -349,7 +349,7 @@ void ScMarkData::MarkFromRangeList( const ScRangeList& rList, bool bReset )
{
for (size_t i=0; i < nCount; i++)
{
- const ScRange& rRange = *rList[ i ];
+ const ScRange& rRange = rList[ i ];
SetMultiMarkArea( rRange );
SelectTable( rRange.aStart.Tab(), true );
}
@@ -405,13 +405,13 @@ void ScMarkData::FillRangeListWithMarks( ScRangeList* pList, bool bClear, SCTAB
if ( bMarked )
{
if (nForTab < 0)
- pList->Append( aMarkRange );
+ pList->push_back( aMarkRange );
else
{
ScRange aRange( aMarkRange );
aRange.aStart.SetTab( nForTab );
aRange.aEnd.SetTab( nForTab );
- pList->Append( aRange );
+ pList->push_back( aRange );
}
}
}
@@ -428,10 +428,10 @@ void ScMarkData::ExtendRangeListTables( ScRangeList* pList ) const
for (; it != maTabMarked.end(); ++it)
for ( size_t i=0, nCount = aOldList.size(); i<nCount; i++)
{
- ScRange aRange = *aOldList[ i ];
+ ScRange aRange = aOldList[ i ];
aRange.aStart.SetTab(*it);
aRange.aEnd.SetTab(*it);
- pList->Append( aRange );
+ pList->push_back( aRange );
}
}
@@ -459,7 +459,7 @@ std::vector<sc::ColRowSpan> ScMarkData::GetMarkedRowSpans() const
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
- const ScRange& r = *aRanges[i];
+ const ScRange& r = aRanges[i];
itPos = aSpans.insert(itPos, r.aStart.Row(), r.aEnd.Row()+1, true).first;
}
@@ -706,7 +706,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange(nCol - 1, nTop, aMultiRange.aStart.Tab(),
nCol - 1, nBottom, aMultiRange.aStart.Tab());
lcl_AddRanges( rRange, aAddRange ); // Left envelope
- aLeftEnvelope.Append( aAddRange );
+ aLeftEnvelope.push_back( aAddRange );
}
else if( nCol > nStartCol )
{
@@ -728,7 +728,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange( nCol - 1, nTop1, aMultiRange.aStart.Tab(),
nCol - 1, nBottom1, aMultiRange.aStart.Tab() );
lcl_AddRanges( rRange, aAddRange ); // Left envelope
- aLeftEnvelope.Append( aAddRange );
+ aLeftEnvelope.push_back( aAddRange );
nTop1 = ++nBottom1;
}
}
@@ -747,7 +747,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange( nCol, nTopPrev, aMultiRange.aStart.Tab(),
nCol, nBottomPrev, aMultiRange.aStart.Tab());
lcl_AddRanges( rRange, aAddRange ); // Right envelope
- aRightEnvelope.Append( aAddRange );
+ aRightEnvelope.push_back( aAddRange );
nTopPrev = nBottomPrev = (nBottom + 1);
}
else
@@ -755,7 +755,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange( nCol, nTopPrev, aMultiRange.aStart.Tab(),
nCol, nBottomPrev, aMultiRange.aStart.Tab());
lcl_AddRanges( rRange, aAddRange ); // Right envelope
- aRightEnvelope.Append( aAddRange );
+ aRightEnvelope.push_back( aAddRange );
nTopPrev = ++nBottomPrev;
}
}
@@ -795,7 +795,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange(nCol, nTopPrev, aMultiRange.aStart.Tab(),
nCol, nBottomPrev, aMultiRange.aStart.Tab());
lcl_AddRanges( rRange, aAddRange ); // Right envelope
- aRightEnvelope.Append( aAddRange );
+ aRightEnvelope.push_back( aAddRange );
nTopPrev = ++nBottomPrev;
}
else
@@ -820,7 +820,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
ScRange aAddRange(nCol, nTopPrev, aMultiRange.aStart.Tab(),
nCol, nBottomPrev, aMultiRange.aStart.Tab());
lcl_AddRanges( rRange, aAddRange ); // Right envelope
- aRightEnvelope.Append( aAddRange );
+ aRightEnvelope.push_back( aAddRange );
nTopPrev = ++nBottomPrev;
}
else
@@ -844,7 +844,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
if( !rKV.second.getRangeData( nStart, aRange ) )
break;
if( aRange.mbValue ) // is marked
- aTopEnvelope.Append( ScRange( aRange.mnCol1, rKV.first, aMultiRange.aStart.Tab(),
+ aTopEnvelope.push_back( ScRange( aRange.mnCol1, rKV.first, aMultiRange.aStart.Tab(),
aRange.mnCol2, rKV.first, aMultiRange.aStart.Tab() ) );
nStart = aRange.mnCol2 + 1;
}
@@ -858,7 +858,7 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
if( !rKV.second.getRangeData( nStart, aRange ) )
break;
if( aRange.mbValue ) // is marked
- aBottomEnvelope.Append( ScRange( aRange.mnCol1, rKV.first, aMultiRange.aStart.Tab(),
+ aBottomEnvelope.push_back( ScRange( aRange.mnCol1, rKV.first, aMultiRange.aStart.Tab(),
aRange.mnCol2, rKV.first, aMultiRange.aStart.Tab() ) );
nStart = aRange.mnCol2 + 1;
}
@@ -878,22 +878,22 @@ void ScMarkData::GetSelectionCover( ScRange& rRange )
// Each envelope will have zero or more ranges for single rectangle selection.
if( nCol1 > 0 )
{
- aLeftEnvelope.Append( ScRange( nCol1 - 1, nRow1, nTab1, nCol1 - 1, nRow2, nTab2 ) );
+ aLeftEnvelope.push_back( ScRange( nCol1 - 1, nRow1, nTab1, nCol1 - 1, nRow2, nTab2 ) );
--nCol1New;
}
if( nRow1 > 0 )
{
- aTopEnvelope.Append( ScRange( nCol1, nRow1 - 1, nTab1, nCol2, nRow1 - 1, nTab2 ) );
+ aTopEnvelope.push_back( ScRange( nCol1, nRow1 - 1, nTab1, nCol2, nRow1 - 1, nTab2 ) );
--nRow1New;
}
if( nCol2 < MAXCOL )
{
- aRightEnvelope.Append( ScRange( nCol2 + 1, nRow1, nTab1, nCol2 + 1, nRow2, nTab2 ) );
+ aRightEnvelope.push_back( ScRange( nCol2 + 1, nRow1, nTab1, nCol2 + 1, nRow2, nTab2 ) );
++nCol2New;
}
if( nRow2 < MAXROW )
{
- aBottomEnvelope.Append( ScRange( nCol1, nRow2 + 1, nTab1, nCol2, nRow2 + 1, nTab2 ) );
+ aBottomEnvelope.push_back( ScRange( nCol1, nRow2 + 1, nTab1, nCol2, nRow2 + 1, nTab2 ) );
++nRow2New;
}
rRange = ScRange( nCol1New, nRow1New, nTab1, nCol2New, nRow2New, nTab2 );
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index adb40b67a0c0..67e4da17f9c8 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -461,10 +461,10 @@ void ScTable::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMa
for (size_t i = 0; i < aRangeList.size(); ++i)
{
- ScRange* pRange = aRangeList[i];
+ const ScRange & rRange = aRangeList[i];
- if((nDelFlag & InsertDeleteFlags::ATTRIB) && pRange && pRange->aStart.Tab() == nTab)
- mpCondFormatList->DeleteArea( pRange->aStart.Col(), pRange->aStart.Row(), pRange->aEnd.Col(), pRange->aEnd.Row() );
+ if((nDelFlag & InsertDeleteFlags::ATTRIB) && rRange.aStart.Tab() == nTab)
+ mpCondFormatList->DeleteArea( rRange.aStart.Col(), rRange.aStart.Row(), rRange.aEnd.Col(), rRange.aEnd.Row() );
}
// Do not set protected cell in a protected sheet
@@ -535,9 +535,8 @@ void ScTable::CopyToClip(
{
for ( size_t i = 0, nListSize = rRanges.size(); i < nListSize; ++i )
{
- const ScRange* p = rRanges[ i ];
- if (p)
- CopyToClip( rCxt, p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), pTable);
+ const ScRange & r = rRanges[ i ];
+ CopyToClip( rCxt, r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), pTable);
}
}
@@ -579,7 +578,7 @@ bool CheckAndDeduplicateCondFormat(ScDocument* pDocument, ScConditionalFormat* p
ScRangeList& rDstRangeList = pOldFormat->GetRangeList();
for (size_t i = 0; i < rNewRangeList.size(); ++i)
{
- rDstRangeList.Join(*rNewRangeList[i]);
+ rDstRangeList.Join(rNewRangeList[i]);
}
pDocument->AddCondFormatData(pOldFormat->GetRange(), nTab, pOldFormat->GetKey());
return true;
@@ -1365,8 +1364,8 @@ bool ScTable::HasScenarioRange( const ScRange& rRange ) const
{
for ( size_t j = 0, n = pList->size(); j < n; j++ )
{
- const ScRange* pR = (*pList)[j];
- if ( pR->Intersects( aTabRange ) )
+ const ScRange & rR = (*pList)[j];
+ if ( rR.Intersects( aTabRange ) )
return true;
}
}
@@ -2430,8 +2429,8 @@ bool ScTable::IsSelectionEditable( const ScMarkData& rMark,
{
for (size_t i=0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++ )
{
- ScRange aRange = *aRanges[ i ];
- if(pDocument->HasScenarioRange(nScenTab, aRange))
+ const ScRange & rRange = aRanges[ i ];
+ if(pDocument->HasScenarioRange(nScenTab, rRange))
{
ScScenarioFlags nFlags;
pDocument->GetScenarioFlags(nScenTab,nFlags);
@@ -2459,8 +2458,8 @@ bool ScTable::IsSelectionEditable( const ScMarkData& rMark,
rMark.FillRangeListWithMarks( &aRanges, false );
for (size_t i = 0, nRange = aRanges.size(); (i < nRange) && bIsEditable; i++)
{
- ScRange aRange = *aRanges[ i ];
- if(pDocument->HasScenarioRange(nTab, aRange))
+ const ScRange & rRange = aRanges[ i ];
+ if(pDocument->HasScenarioRange(nTab, rRange))
{
ScScenarioFlags nFlags;
pDocument->GetScenarioFlags(nTab,nFlags);
@@ -2575,16 +2574,16 @@ void ScTable::ApplyPatternIfNumberformatIncompatible( const ScRange& rRange,
}
}
-void ScTable::AddCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex )
+void ScTable::AddCondFormatData( const ScRangeList& rRangeList, sal_uInt32 nIndex )
{
- size_t n = rRange.size();
+ size_t n = rRangeList.size();
for(size_t i = 0; i < n; ++i)
{
- const ScRange* pRange = rRange[i];
- SCCOL nColStart = pRange->aStart.Col();
- SCCOL nColEnd = pRange->aEnd.Col();
- SCROW nRowStart = pRange->aStart.Row();
- SCROW nRowEnd = pRange->aEnd.Row();
+ const ScRange & rRange = rRangeList[i];
+ SCCOL nColStart = rRange.aStart.Col();
+ SCCOL nColEnd = rRange.aEnd.Col();
+ SCROW nRowStart = rRange.aStart.Row();
+ SCROW nRowEnd = rRange.aEnd.Row();
for(SCCOL nCol = nColStart; nCol <= nColEnd; ++nCol)
{
aCol[nCol].AddCondFormat(nRowStart, nRowEnd, nIndex);
@@ -2592,16 +2591,16 @@ void ScTable::AddCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex )
}
}
-void ScTable::RemoveCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex )
+void ScTable::RemoveCondFormatData( const ScRangeList& rRangeList, sal_uInt32 nIndex )
{
- size_t n = rRange.size();
+ size_t n = rRangeList.size();
for(size_t i = 0; i < n; ++i)
{
- const ScRange* pRange = rRange[i];
- SCCOL nColStart = pRange->aStart.Col();
- SCCOL nColEnd = pRange->aEnd.Col();
- SCROW nRowStart = pRange->aStart.Row();
- SCROW nRowEnd = pRange->aEnd.Row();
+ const ScRange & rRange = rRangeList[i];
+ SCCOL nColStart = rRange.aStart.Col();
+ SCCOL nColEnd = rRange.aEnd.Col();
+ SCROW nRowStart = rRange.aStart.Row();
+ SCROW nRowEnd = rRange.aEnd.Row();
for(SCCOL nCol = nColStart; nCol <= nColEnd; ++nCol)
{
aCol[nCol].RemoveCondFormat(nRowStart, nRowEnd, nIndex);
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 5d374368228b..217c74d3823d 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -1235,7 +1235,7 @@ void ScTable::SortReorderByRowRefUpdate(
// could be anywhere in the sorted range after reordering.
for (size_t i = 0, n = aTmp.size(); i < n; ++i)
{
- ScRange aRange = *aTmp[i];
+ ScRange aRange = aTmp[i];
if (!aMoveRange.Intersects(aRange))
{
// Doesn't overlap with the sorted range at all.
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 4e0666846cb0..efdb51803935 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -842,8 +842,7 @@ bool ScTable::SearchAndReplaceEmptyCells(
GetFirstDataPos(nColStart, nRowStart);
GetLastDataPos(nColEnd, nRowEnd);
- ScRangeList aRanges;
- aRanges.Append(ScRange(nColStart, nRowStart, nTab, nColEnd, nRowEnd, nTab));
+ ScRangeList aRanges(ScRange(nColStart, nRowStart, nTab, nColEnd, nRowEnd, nTab));
if (rSearchItem.GetSelection())
{
@@ -856,23 +855,23 @@ bool ScTable::SearchAndReplaceEmptyCells(
rMark.FillRangeListWithMarks(&aMarkedRanges, true);
for ( size_t i = 0, n = aMarkedRanges.size(); i < n; ++i )
{
- ScRange* p = aMarkedRanges[ i ];
- if (p->aStart.Col() > nColEnd || p->aStart.Row() > nRowEnd || p->aEnd.Col() < nColStart || p->aEnd.Row() < nRowStart)
+ ScRange & rRange = aMarkedRanges[ i ];
+ if (rRange.aStart.Col() > nColEnd || rRange.aStart.Row() > nRowEnd || rRange.aEnd.Col() < nColStart || rRange.aEnd.Row() < nRowStart)
// This range is outside the data area. Skip it.
continue;
// Shrink the range into data area only.
- if (p->aStart.Col() < nColStart)
- p->aStart.SetCol(nColStart);
- if (p->aStart.Row() < nRowStart)
- p->aStart.SetRow(nRowStart);
+ if (rRange.aStart.Col() < nColStart)
+ rRange.aStart.SetCol(nColStart);
+ if (rRange.aStart.Row() < nRowStart)
+ rRange.aStart.SetRow(nRowStart);
- if (p->aEnd.Col() > nColEnd)
- p->aEnd.SetCol(nColEnd);
- if (p->aEnd.Row() > nRowEnd)
- p->aEnd.SetRow(nRowEnd);
+ if (rRange.aEnd.Col() > nColEnd)
+ rRange.aEnd.SetCol(nColEnd);
+ if (rRange.aEnd.Row() > nRowEnd)
+ rRange.aEnd.SetRow(nRowEnd);
- aNewRanges.Append(*p);
+ aNewRanges.push_back(rRange);
}
aRanges = aNewRanges;
}
@@ -884,8 +883,8 @@ bool ScTable::SearchAndReplaceEmptyCells(
{
for ( size_t i = aRanges.size(); i > 0; --i )
{
- ScRange* p = aRanges[ i - 1 ];
- if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr))
+ const ScRange & rRange = aRanges[ i - 1 ];
+ if (SearchRangeForEmptyCell(rRange, rSearchItem, rCol, rRow, rUndoStr))
return true;
}
}
@@ -893,8 +892,8 @@ bool ScTable::SearchAndReplaceEmptyCells(
{
for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i )
{
- ScRange* p = aRanges[ i ];
- if (SearchRangeForEmptyCell(*p, rSearchItem, rCol, rRow, rUndoStr))
+ const ScRange & rRange = aRanges[ i ];
+ if (SearchRangeForEmptyCell(rRange, rSearchItem, rCol, rRow, rUndoStr))
return true;
}
}
@@ -904,8 +903,8 @@ bool ScTable::SearchAndReplaceEmptyCells(
bool bFound = false;
for ( size_t i = 0, nListSize = aRanges.size(); i < nListSize; ++i )
{
- ScRange* p = aRanges[ i ];
- bFound |= SearchRangeForAllEmptyCells(*p, rSearchItem, rMatchedRanges, rUndoStr, pUndoDoc);
+ ScRange const & rRange = aRanges[ i ];
+ bFound |= SearchRangeForAllEmptyCells(rRange, rSearchItem, rMatchedRanges, rUndoStr, pUndoDoc);
}
return bFound;
}
diff --git a/sc/source/core/data/tabprotection.cxx b/sc/source/core/data/tabprotection.cxx
index 05b53d16e551..3deb5504fa24 100644
--- a/sc/source/core/data/tabprotection.cxx
+++ b/sc/source/core/data/tabprotection.cxx
@@ -489,7 +489,7 @@ bool ScTableProtectionImpl::isBlockEditable( const ScRange& rRange ) const
if (!(*it).hasSecurityDescriptor() && (*it).maRangeList.is())
{
ScRangeList aList( (*it).maRangeList->GetIntersectedRange( rRange));
- if (aList.size() == 1 && *aList[0] == rRange)
+ if (aList.size() == 1 && aList[0] == rRange)
{
// Range is editable if no password is assigned.
if (!(*it).hasPassword())
@@ -516,13 +516,13 @@ bool ScTableProtectionImpl::isBlockEditable( const ScRange& rRange ) const
size_t nRanges = rRanges.size();
for (size_t i=0; i < nRanges; ++i)
{
- aRangeList.Append( *rRanges[i]);
+ aRangeList.push_back( rRanges[i]);
}
}
}
}
ScRangeList aResultList( aRangeList.GetIntersectedRange( rRange));
- return aResultList.size() == 1 && *aResultList[0] == rRange;
+ return aResultList.size() == 1 && aResultList[0] == rRange;
}
bool ScTableProtectionImpl::isSelectionEditable( const ScRangeList& rRangeList ) const
@@ -532,7 +532,7 @@ bool ScTableProtectionImpl::isSelectionEditable( const ScRangeList& rRangeList )
for (size_t i=0, nRanges = rRangeList.size(); i < nRanges; ++i)
{
- if (!isBlockEditable( *rRangeList[i]))
+ if (!isBlockEditable( rRangeList[i]))
return false;
}
return true;
diff --git a/sc/source/core/tool/chartarr.cxx b/sc/source/core/tool/chartarr.cxx
index 6b020b0e3049..ef73e5727c48 100644
--- a/sc/source/core/tool/chartarr.cxx
+++ b/sc/source/core/tool/chartarr.cxx
@@ -68,8 +68,8 @@ ScMemChart* ScChartArray::CreateMemChart()
return CreateMemChartMulti();
else if ( nCount == 1 )
{
- ScRange* pR = aRangeListRef->front();
- if ( pR->aStart.Tab() != pR->aEnd.Tab() )
+ const ScRange & rR = aRangeListRef->front();
+ if ( rR.aStart.Tab() != rR.aEnd.Tab() )
return CreateMemChartMulti();
else
return CreateMemChartSingle();
@@ -129,7 +129,7 @@ ScMemChart* ScChartArray::CreateMemChartSingle()
SCROW nRow2;
SCTAB nTab2;
ScRangeListRef aRangeListRef(GetRangeList());
- aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ aRangeListRef->front().GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
SCCOL nStrCol = nCol1; // remember for labeling
SCROW nStrRow = nRow1;
diff --git a/sc/source/core/tool/charthelper.cxx b/sc/source/core/tool/charthelper.cxx
index 12e05fa415e9..79140b928142 100644
--- a/sc/source/core/tool/charthelper.cxx
+++ b/sc/source/core/tool/charthelper.cxx
@@ -76,21 +76,21 @@ bool lcl_AdjustRanges( ScRangeList& rRanges, SCTAB nSourceTab, SCTAB nDestTab, S
for ( size_t i=0, nCount = rRanges.size(); i < nCount; i++ )
{
- ScRange* pRange = rRanges[ i ];
- if ( pRange->aStart.Tab() == nSourceTab && pRange->aEnd.Tab() == nSourceTab )
+ ScRange & rRange = rRanges[ i ];
+ if ( rRange.aStart.Tab() == nSourceTab && rRange.aEnd.Tab() == nSourceTab )
{
- pRange->aStart.SetTab( nDestTab );
- pRange->aEnd.SetTab( nDestTab );
+ rRange.aStart.SetTab( nDestTab );
+ rRange.aEnd.SetTab( nDestTab );
bChanged = true;
}
- if ( pRange->aStart.Tab() >= nTabCount )
+ if ( rRange.aStart.Tab() >= nTabCount )
{
- pRange->aStart.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
+ rRange.aStart.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
bChanged = true;
}
- if ( pRange->aEnd.Tab() >= nTabCount )
+ if ( rRange.aEnd.Tab() >= nTabCount )
{
- pRange->aEnd.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
+ rRange.aEnd.SetTab( nTabCount > 0 ? ( nTabCount - 1 ) : 0 );
bChanged = true;
}
}
@@ -417,8 +417,7 @@ void ScChartHelper::CreateProtectedChartListenersAndNotify( ScDocument* pDoc, co
{
tools::Rectangle aRectangle = pSdrOle2Obj->GetSnapRect();
ScRange aRange( pDoc->GetRange( nTab, aRectangle ) );
- ScRangeList aChangeRanges;
- aChangeRanges.Append( aRange );
+ ScRangeList aChangeRanges( aRange );
uno::Sequence< beans::PropertyValue > aProperties( 1 );
aProperties[ 0 ].Name = "Name";
diff --git a/sc/source/core/tool/chartpos.cxx b/sc/source/core/tool/chartpos.cxx
index db2469d853e5..fb78be869573 100644
--- a/sc/source/core/tool/chartpos.cxx
+++ b/sc/source/core/tool/chartpos.cxx
@@ -90,8 +90,7 @@ ScChartPositioner::~ScChartPositioner()
void ScChartPositioner::SetRangeList( const ScRange& rRange )
{
- aRangeListRef = new ScRangeList;
- aRangeListRef->Append( rRange );
+ aRangeListRef = new ScRangeList( rRange );
InvalidateGlue();
}
@@ -105,7 +104,7 @@ void ScChartPositioner::GlueState()
{
if ( !aRangeListRef->empty() )
{
- pR = aRangeListRef->front();
+ pR = &aRangeListRef->front();
if ( pR->aStart.Tab() == pR->aEnd.Tab() )
eGlue = ScChartGlue::NONE;
else
@@ -122,7 +121,7 @@ void ScChartPositioner::GlueState()
return;
}
- pR = aRangeListRef->front();
+ pR = &aRangeListRef->front();
nStartCol = pR->aStart.Col();
nStartRow = pR->aStart.Row();
SCCOL nMaxCols, nEndCol;
@@ -143,7 +142,7 @@ void ScChartPositioner::GlueState()
// in last pass; i = nRanges so don't use at()
if ( i < nRanges )
- pR = (*aRangeListRef)[i];
+ pR = &(*aRangeListRef)[i];
}
SCCOL nC = nEndCol - nStartCol + 1;
if ( nC == 1 )
@@ -176,7 +175,7 @@ void ScChartPositioner::GlueState()
SCROW nRow, nRow1, nRow2;
for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i )
{ // mark selections as used in 2D
- pR = (*aRangeListRef)[i];
+ pR = &(*aRangeListRef)[i];
nCol1 = pR->aStart.Col() - nStartCol;
nCol2 = pR->aEnd.Col() - nStartCol;
nRow1 = pR->aStart.Row() - nStartRow;
@@ -274,7 +273,7 @@ void ScChartPositioner::CheckColRowHeaders()
GlueState();
if ( aRangeListRef->size() == 1 )
{
- aRangeListRef->front()->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ aRangeListRef->front().GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
if ( nCol1 > nCol2 || nRow1 > nRow2 )
bColStrings = bRowStrings = false;
else
@@ -299,8 +298,8 @@ void ScChartPositioner::CheckColRowHeaders()
++i
)
{
- ScRange* pR = (*aRangeListRef)[i];
- pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ const ScRange & rR = (*aRangeListRef)[i];
+ rR.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
bool bTopRow = (nRow1 == nStartRow);
if ( bRowStrings && (bVert || nCol1 == nStartCol) )
{ // NONE or ROWS: RowStrings in every selection possible
@@ -362,8 +361,8 @@ void ScChartPositioner::CreatePositionMap()
SCROW nNoGlueRow = 0;
for ( size_t i = 0, nRanges = aRangeListRef->size(); i < nRanges; ++i )
{
- ScRange* pR = (*aRangeListRef)[i];
- pR->GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
+ const ScRange & rR = (*aRangeListRef)[i];
+ rR.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
for ( nTab = nTab1; nTab <= nTab2; nTab++ )
{
// nTab in ColKey to allow to have the same col/row in another table
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index efb3f15671cf..75ff41b8f99a 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -1398,11 +1398,11 @@ void ScDBCollection::RefreshDirtyTableColumnNames()
{
for (size_t i=0; i < maNamedDBs.maDirtyTableColumnNames.size(); ++i)
{
- const ScRange* pRange = maNamedDBs.maDirtyTableColumnNames[i];
+ const ScRange & rRange = maNamedDBs.maDirtyTableColumnNames[i];
for (auto const& it : maNamedDBs)
{
if (it->AreTableColumnNamesDirty())
- it->RefreshTableColumnNames( &maNamedDBs.mrDoc, *pRange);
+ it->RefreshTableColumnNames( &maNamedDBs.mrDoc, rRange);
}
}
maNamedDBs.maDirtyTableColumnNames.RemoveAll();
diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index 0513d258a634..3b68a8fd5032 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -42,9 +42,9 @@ class FindEnclosingRange
{
public:
explicit FindEnclosingRange(const T& rTest) : mrTest(rTest) {}
- bool operator() (const ScRange* pRange) const
+ bool operator() (const ScRange & rRange) const
{
- return pRange->In(mrTest);
+ return rRange.In(mrTest);
}
private:
const T& mrTest;
@@ -55,9 +55,9 @@ class FindRangeIn
{
public:
FindRangeIn(const T& rTest) : mrTest(rTest) {}
- bool operator() (const ScRange* pRange) const
+ bool operator() (const ScRange& rRange) const
{
- return mrTest.In(*pRange);
+ return mrTest.In(rRange);
}
private:
const T& mrTest;
@@ -68,9 +68,9 @@ class FindIntersectingRange
{
public:
explicit FindIntersectingRange(const T& rTest) : mrTest(rTest) {}
- bool operator() (const ScRange* pRange) const
+ bool operator() (const ScRange & rRange) const
{
- return pRange->Intersects(mrTest);
+ return rRange.Intersects(mrTest);
}
private:
const T& mrTest;
@@ -79,13 +79,13 @@ private:
class AppendToList
{
public:
- explicit AppendToList(vector<ScRange*>& rRanges) : mrRanges(rRanges) {}
- void operator() (const ScRange* p)
+ explicit AppendToList(vector<ScRange>& rRanges) : mrRanges(rRanges) {}
+ void operator() (const ScRange& r)
{
- mrRanges.push_back(new ScRange(*p));
+ mrRanges.push_back(r);
}
private:
- vector<ScRange*>& mrRanges;
+ vector<ScRange>& mrRanges;
};
class CountCells
@@ -93,12 +93,12 @@ class CountCells
public:
CountCells() : mnCellCount(0) {}
- void operator() (const ScRange* p)
+ void operator() (const ScRange & r)
{
mnCellCount +=
- size_t(p->aEnd.Col() - p->aStart.Col() + 1)
- * size_t(p->aEnd.Row() - p->aStart.Row() + 1)
- * size_t(p->aEnd.Tab() - p->aStart.Tab() + 1);
+ size_t(r.aEnd.Col() - r.aStart.Col() + 1)
+ * size_t(r.aEnd.Row() - r.aStart.Row() + 1)
+ * size_t(r.aEnd.Tab() - r.aStart.Tab() + 1);
}
size_t getCellCount() const { return mnCellCount; }
@@ -119,9 +119,9 @@ public:
mbFirst(true),
mbFullAddressNotation(bFullAddressNotation) {}
- void operator() (const ScRange* p)
+ void operator() (const ScRange & r)
{
- OUString aStr(p->Format(mnFlags, mpDoc, meConv, mbFullAddressNotation));
+ OUString aStr(r.Format(mnFlags, mpDoc, meConv, mbFullAddressNotation));
if (mbFirst)
mbFirst = false;
else
@@ -175,7 +175,7 @@ ScRefFlags ScRangeList::Parse( const OUString& rStr, const ScDocument* pDoc,
applyStartToEndFlags(nRes, nTmp1);
if ( nRes & ScRefFlags::VALID )
- Append( aRange );
+ push_back( aRange );
nResult &= nRes; // all common bits are preserved
}
while (nPos >= 0);
@@ -200,11 +200,11 @@ void ScRangeList::Format( OUString& rStr, ScRefFlags nFlags, ScDocument* pDoc,
rStr = aStr;
}
-void ScRangeList::Join( const ScRange& r, bool bIsInList )
+void ScRangeList::Join( const ScRange& rNewRange, bool bIsInList )
{
if ( maRanges.empty() )
{
- Append( r );
+ push_back( rNewRange );
return ;
}
@@ -219,22 +219,22 @@ void ScRangeList::Join( const ScRange& r, bool bIsInList )
if (!bIsInList)
{
- const SCROW nRow1 = r.aStart.Row();
+ const SCROW nRow1 = rNewRange.aStart.Row();
if (nRow1 > mnMaxRowUsed + 1)
{
- Append( r );
+ push_back( rNewRange );
return;
}
else if (nRow1 == mnMaxRowUsed + 1)
{
// Check if we can simply enlarge the last range.
- ScRange* p = maRanges.back();
- if (p->aEnd.Row() + 1 == nRow1 &&
- p->aStart.Col() == r.aStart.Col() && p->aEnd.Col() == r.aEnd.Col() &&
- p->aStart.Tab() == r.aStart.Tab() && p->aEnd.Tab() == r.aEnd.Tab())
+ ScRange & rLast = maRanges.back();
+ if (rLast.aEnd.Row() + 1 == nRow1 &&
+ rLast.aStart.Col() == rNewRange.aStart.Col() && rLast.aEnd.Col() == rNewRange.aEnd.Col() &&
+ rLast.aStart.Tab() == rNewRange.aStart.Tab() && rLast.aEnd.Tab() == rNewRange.aEnd.Tab())
{
- const SCROW nRow2 = r.aEnd.Row();
- p->aEnd.SetRow( nRow2 );
+ const SCROW nRow2 = rNewRange.aEnd.Row();
+ rLast.aEnd.SetRow( nRow2 );
mnMaxRowUsed = nRow2;
return;
}
@@ -242,7 +242,7 @@ void ScRangeList::Join( const ScRange& r, bool bIsInList )
}
bool bJoinedInput = false;
- const ScRange* pOver = &r;
+ const ScRange* pOver = &rNewRange;
Label_Range_Join:
@@ -257,14 +257,14 @@ Label_Range_Join:
size_t nOverPos = std::numeric_limits<size_t>::max();
for (size_t i = 0; i < maRanges.size(); ++i)
{
- ScRange* p = maRanges[i];
- if ( p == pOver )
+ ScRange & rRange = maRanges[i];
+ if ( &rRange == pOver )
{
nOverPos = i;
continue; // the same one, continue with the next
}
bool bJoined = false;
- if ( p->In( *pOver ) )
+ if ( rRange.In( *pOver ) )
{ // range pOver included in or identical to range p
// XXX if we never used Append() before Join() we could remove
// pOver and end processing, but it is not guaranteed and there can
@@ -277,40 +277,40 @@ Label_Range_Join:
break; // for
}
}
- else if ( pOver->In( *p ) )
- { // range p included in range pOver, make pOver the new range
- *p = *pOver;
+ else if ( pOver->In( rRange ) )
+ { // range rRange included in range pOver, make pOver the new range
+ rRange = *pOver;
bJoined = true;
}
- if ( !bJoined && p->aStart.Tab() == nTab1 && p->aEnd.Tab() == nTab2 )
+ if ( !bJoined && rRange.aStart.Tab() == nTab1 && rRange.aEnd.Tab() == nTab2 )
{ // 2D
- if ( p->aStart.Col() == nCol1 && p->aEnd.Col() == nCol2 )
+ if ( rRange.aStart.Col() == nCol1 && rRange.aEnd.Col() == nCol2 )
{
- if ( p->aStart.Row() <= nRow2+1 &&
- p->aStart.Row() >= nRow1 )
+ if ( rRange.aStart.Row() <= nRow2+1 &&
+ rRange.aStart.Row() >= nRow1 )
{ // top
- p->aStart.SetRow( nRow1 );
+ rRange.aStart.SetRow( nRow1 );
bJoined = true;
}
- else if ( p->aEnd.Row() >= nRow1-1 &&
- p->aEnd.Row() <= nRow2 )
+ else if ( rRange.aEnd.Row() >= nRow1-1 &&
+ rRange.aEnd.Row() <= nRow2 )
{ // bottom
- p->aEnd.SetRow( nRow2 );
+ rRange.aEnd.SetRow( nRow2 );
bJoined = true;
}
}
- else if ( p->aStart.Row() == nRow1 && p->aEnd.Row() == nRow2 )
+ else if ( rRange.aStart.Row() == nRow1 && rRange.aEnd.Row() == nRow2 )
{
- if ( p->aStart.Col() <= nCol2+1 &&
- p->aStart.Col() >= nCol1 )
+ if ( rRange.aStart.Col() <= nCol2+1 &&
+ rRange.aStart.Col() >= nCol1 )
{ // left
- p->aStart.SetCol( nCol1 );
+ rRange.aStart.SetCol( nCol1 );
bJoined = true;
}
- else if ( p->aEnd.Col() >= nCol1-1 &&
- p->aEnd.Col() <= nCol2 )
+ else if ( rRange.aEnd.Col() >= nCol1-1 &&
+ rRange.aEnd.Col() <= nCol2 )
{ // right
- p->aEnd.SetCol( nCol2 );
+ rRange.aEnd.SetCol( nCol2 );
bJoined = true;
}
}
@@ -325,7 +325,7 @@ Label_Range_Join:
{
for (size_t nOver = 0, nRanges = maRanges.size(); nOver < nRanges; ++nOver)
{
- if (maRanges[nOver] == pOver)
+ if (&maRanges[nOver] == pOver)
{
Remove(nOver);
break;
@@ -334,13 +334,13 @@ Label_Range_Join:
}
}
bJoinedInput = true;
- pOver = p;
+ pOver = &rRange;
bIsInList = true;
goto Label_Range_Join;
}
}
if ( !bIsInList && !bJoinedInput )
- Append( r );
+ push_back( rNewRange );
}
bool ScRangeList::operator==( const ScRangeList& r ) const
@@ -351,13 +351,13 @@ bool ScRangeList::operator==( const ScRangeList& r ) const
if (maRanges.size() != r.maRanges.size())
return false;
- vector<ScRange*>::const_iterator itr1 = maRanges.begin(), itrEnd = maRanges.end();
- vector<ScRange*>::const_iterator itr2 = r.maRanges.begin();
+ auto itr1 = maRanges.begin(), itrEnd = maRanges.end();
+ auto itr2 = r.maRanges.begin();
for (; itr1 != itrEnd; ++itr1, ++itr2)
{
- const ScRange* p1 = *itr1;
- const ScRange* p2 = *itr2;
- if (*p1 != *p2)
+ const ScRange& r1 = *itr1;
+ const ScRange& r2 = *itr2;
+ if (r1 != r2)
return false;
}
return true;
@@ -413,14 +413,14 @@ bool ScRangeList::UpdateReference(
iterator itr = maRanges.begin(), itrEnd = maRanges.end();
for (; itr != itrEnd; ++itr)
{
- ScRange* pR = *itr;
+ ScRange& rR = *itr;
SCCOL theCol1;
SCROW theRow1;
SCTAB theTab1;
SCCOL theCol2;
SCROW theRow2;
SCTAB theTab2;
- pR->GetVars( theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 );
+ rR.GetVars( theCol1, theRow1, theTab1, theCol2, theRow2, theTab2 );
if ( ScRefUpdate::Update( pDoc, eUpdateRefMode,
nCol1, nRow1, nTab1, nCol2, nRow2, nTab2,
nDx, nDy, nDz,
@@ -428,8 +428,8 @@ bool ScRangeList::UpdateReference(
!= UR_NOTHING )
{
bChanged = true;
- pR->aStart.Set( theCol1, theRow1, theTab1 );
- pR->aEnd.Set( theCol2, theRow2, theTab2 );
+ rR.aStart.Set( theCol1, theRow1, theTab1 );
+ rR.aEnd.Set( theCol2, theRow2, theTab2 );
if (mnMaxRowUsed < theRow2)
mnMaxRowUsed = theRow2;
}
@@ -440,7 +440,7 @@ bool ScRangeList::UpdateReference(
if( nDx < 0 || nDy < 0 )
{
size_t n = maRanges.size();
- Join(*maRanges[n-1], true);
+ Join(maRanges[n-1], true);
}
}
@@ -453,14 +453,14 @@ void ScRangeList::InsertRow( SCTAB nTab, SCCOL nColStart, SCCOL nColEnd, SCROW n
for(iterator it = maRanges.begin(), itEnd = maRanges.end(); it != itEnd;
++it)
{
- ScRange* pRange = *it;
- if(pRange->aStart.Tab() <= nTab && pRange->aEnd.Tab() >= nTab)
+ ScRange & rRange = *it;
+ if(rRange.aStart.Tab() <= nTab && rRange.aEnd.Tab() >= nTab)
{
- if(pRange->aEnd.Row() == nRowPos - 1 && (nColStart <= pRange->aEnd.Col() || nColEnd >= pRange->aStart.Col()))
+ if(rRange.aEnd.Row() == nRowPos - 1 && (nColStart <= rRange.aEnd.Col() || nColEnd >= rRange.aStart.Col()))
{
- SCCOL nNewRangeStartCol = std::max<SCCOL>(nColStart, pRange->aStart.Col());
- SCCOL nNewRangeEndCol = std::min<SCCOL>(nColEnd, pRange->aEnd.Col());
- SCROW nNewRangeStartRow = pRange->aEnd.Row() + 1;
+ SCCOL nNewRangeStartCol = std::max<SCCOL>(nColStart, rRange.aStart.Col());
+ SCCOL nNewRangeEndCol = std::min<SCCOL>(nColEnd, rRange.aEnd.Col());
+ SCROW nNewRangeStartRow = rRange.aEnd.Row() + 1;
SCROW nNewRangeEndRow = nRowPos + nSize - 1;
aNewRanges.emplace_back(nNewRangeStartCol, nNewRangeStartRow, nTab, nNewRangeEndCol,
nNewRangeEndRow, nTab);
@@ -486,14 +486,14 @@ void ScRangeList::InsertCol( SCTAB nTab, SCROW nRowStart, SCROW nRowEnd, SCCOL n
for(iterator it = maRanges.begin(), itEnd = maRanges.end(); it != itEnd;
++it)
{
- ScRange* pRange = *it;
- if(pRange->aStart.Tab() <= nTab && pRange->aEnd.Tab() >= nTab)
+ ScRange & rRange = *it;
+ if(rRange.aStart.Tab() <= nTab && rRange.aEnd.Tab() >= nTab)
{
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list