summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/inc/address.hxx2
-rw-r--r--sc/inc/rangelst.hxx42
-rw-r--r--sc/qa/unit/helper/qahelper.cxx6
-rw-r--r--sc/qa/unit/mark_test.cxx88
-rw-r--r--sc/qa/unit/rangelst_test.cxx34
-rw-r--r--sc/qa/unit/ucalc.cxx18
-rw-r--r--sc/qa/unit/ucalc_condformat.cxx8
-rw-r--r--sc/source/core/data/clipparam.cxx32
-rw-r--r--sc/source/core/data/colorscale.cxx12
-rw-r--r--sc/source/core/data/column.cxx2
-rw-r--r--sc/source/core/data/columnspanset.cxx8
-rw-r--r--sc/source/core/data/conditio.cxx62
-rw-r--r--sc/source/core/data/documen3.cxx6
-rw-r--r--sc/source/core/data/documen5.cxx31
-rw-r--r--sc/source/core/data/documen6.cxx2
-rw-r--r--sc/source/core/data/document.cxx165
-rw-r--r--sc/source/core/data/drwlayer.cxx10
-rw-r--r--sc/source/core/data/formulacell.cxx10
-rw-r--r--sc/source/core/data/markdata.cxx38
-rw-r--r--sc/source/core/data/table2.cxx53
-rw-r--r--sc/source/core/data/table3.cxx2
-rw-r--r--sc/source/core/data/table6.cxx37
-rw-r--r--sc/source/core/data/tabprotection.cxx8
-rw-r--r--sc/source/core/tool/chartarr.cxx6
-rw-r--r--sc/source/core/tool/charthelper.cxx19
-rw-r--r--sc/source/core/tool/chartpos.cxx21
-rw-r--r--sc/source/core/tool/dbdata.cxx4
-rw-r--r--sc/source/core/tool/rangelst.cxx295
-rw-r--r--sc/source/core/tool/rangeutl.cxx11
-rw-r--r--sc/source/core/tool/reftokenhelper.cxx10
-rw-r--r--sc/source/filter/excel/excform.cxx2
-rw-r--r--sc/source/filter/excel/excform8.cxx2
-rw-r--r--sc/source/filter/excel/xecontent.cxx34
-rw-r--r--sc/source/filter/excel/xeextlst.cxx2
-rw-r--r--sc/source/filter/excel/xeformula.cxx2
-rw-r--r--sc/source/filter/excel/xehelper.cxx14
-rw-r--r--sc/source/filter/excel/xename.cxx8
-rw-r--r--sc/source/filter/excel/xestream.cxx2
-rw-r--r--sc/source/filter/excel/xicontent.cxx27
-rw-r--r--sc/source/filter/excel/xiescher.cxx8
-rw-r--r--sc/source/filter/excel/xihelper.cxx2
-rw-r--r--sc/source/filter/excel/xistyle.cxx16
-rw-r--r--sc/source/filter/html/htmlimp.cxx2
-rw-r--r--sc/source/filter/html/htmlpars.cxx14
-rw-r--r--sc/source/filter/oox/addressconverter.cxx8
-rw-r--r--sc/source/filter/oox/condformatbuffer.cxx2
-rw-r--r--sc/source/filter/oox/defnamesbuffer.cxx2
-rw-r--r--sc/source/filter/oox/extlstcontext.cxx4
-rw-r--r--sc/source/filter/oox/formulabase.cxx6
-rw-r--r--sc/source/filter/oox/scenariobuffer.cxx2
-rw-r--r--sc/source/filter/oox/sheetdatabuffer.cxx24
-rw-r--r--sc/source/filter/xcl97/xcl97rec.cxx6
-rw-r--r--sc/source/filter/xml/xmlcondformat.cxx4
-rw-r--r--sc/source/filter/xml/xmlsceni.cxx7
-rw-r--r--sc/source/filter/xml/xmlstyli.cxx4
-rw-r--r--sc/source/filter/xml/xmlsubti.cxx2
-rw-r--r--sc/source/filter/xml/xmltabi.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessibleCell.cxx2
-rw-r--r--sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx93
-rw-r--r--sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx14
-rw-r--r--sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx4
-rw-r--r--sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx2
-rw-r--r--sc/source/ui/StatisticsDialogs/SamplingDialog.cxx4
-rw-r--r--sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx8
-rw-r--r--sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx6
-rw-r--r--sc/source/ui/condformat/condformatdlg.cxx3
-rw-r--r--sc/source/ui/dialogs/searchresults.cxx12
-rw-r--r--sc/source/ui/docshell/arealink.cxx16
-rw-r--r--sc/source/ui/docshell/dbdocfun.cxx8
-rw-r--r--sc/source/ui/docshell/docfunc.cxx11
-rw-r--r--sc/source/ui/docshell/docsh3.cxx10
-rw-r--r--sc/source/ui/docshell/docsh4.cxx2
-rw-r--r--sc/source/ui/docshell/docsh5.cxx2
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx5
-rw-r--r--sc/source/ui/docshell/tablink.cxx10
-rw-r--r--sc/source/ui/drawfunc/fuins2.cxx4
-rw-r--r--sc/source/ui/inc/AccessibleSpreadsheet.hxx4
-rw-r--r--sc/source/ui/inc/docsh.hxx3
-rw-r--r--sc/source/ui/miscdlgs/acredlin.cxx20
-rw-r--r--sc/source/ui/miscdlgs/anyrefdg.cxx22
-rw-r--r--sc/source/ui/miscdlgs/highred.cxx4
-rw-r--r--sc/source/ui/miscdlgs/optsolver.cxx2
-rw-r--r--sc/source/ui/undo/undobase.cxx4
-rw-r--r--sc/source/ui/undo/undoblk.cxx50
-rw-r--r--sc/source/ui/undo/undocell.cxx2
-rw-r--r--sc/source/ui/undo/undodat.cxx2
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx215
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx7
-rw-r--r--sc/source/ui/unoobj/chartuno.cxx22
-rw-r--r--sc/source/ui/unoobj/condformatuno.cxx2
-rw-r--r--sc/source/ui/unoobj/cursuno.cxx26
-rw-r--r--sc/source/ui/unoobj/dapiuno.cxx9
-rw-r--r--sc/source/ui/unoobj/docuno.cxx27
-rw-r--r--sc/source/ui/unoobj/funcuno.cxx8
-rw-r--r--sc/source/ui/unoobj/viewuno.cxx25
-rw-r--r--sc/source/ui/vba/vbaapplication.cxx4
-rw-r--r--sc/source/ui/vba/vbaeventshelper.cxx4
-rw-r--r--sc/source/ui/vba/vbahyperlinks.cxx4
-rw-r--r--sc/source/ui/vba/vbanames.cxx2
-rw-r--r--sc/source/ui/vba/vbapagesetup.cxx6
-rw-r--r--sc/source/ui/vba/vbarange.cxx66
-rw-r--r--sc/source/ui/view/cellsh.cxx2
-rw-r--r--sc/source/ui/view/cellsh1.cxx19
-rw-r--r--sc/source/ui/view/cliputil.cxx2
-rw-r--r--sc/source/ui/view/dbfunc3.cxx12
-rw-r--r--sc/source/ui/view/drawvie4.cxx2
-rw-r--r--sc/source/ui/view/gridwin.cxx14
-rw-r--r--sc/source/ui/view/gridwin4.cxx2
-rw-r--r--sc/source/ui/view/gridwin_dbgutil.cxx8
-rw-r--r--sc/source/ui/view/tabview3.cxx6
-rw-r--r--sc/source/ui/view/tabvwshc.cxx62
-rw-r--r--sc/source/ui/view/viewdata.cxx3
-rw-r--r--sc/source/ui/view/viewfun2.cxx33
-rw-r--r--sc/source/ui/view/viewfun3.cxx57
-rw-r--r--sc/source/ui/view/viewfun4.cxx2
-rw-r--r--sc/source/ui/view/viewfun6.cxx17
-rw-r--r--sc/source/ui/view/viewfunc.cxx10
117 files changed, 1077 insertions, 1180 deletions
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)
{
- if(pRange->aEnd.Col() == nColPos - 1 && (nRowStart <= pRange->aEnd.Row() || nRowEnd >= pRange->aStart.Row()))
+ if(rRange.aEnd.Col() == nColPos - 1 && (nRowStart <= rRange.aEnd.Row() || nRowEnd >= rRange.aStart.Row()))
{
- SCROW nNewRangeStartRow = std::max<SCROW>(nRowStart, pRange->aStart.Row());
- SCROW nNewRangeEndRow = std::min<SCROW>(nRowEnd, pRange->aEnd.Row());
- SCCOL nNewRangeStartCol = pRange->aEnd.Col() + 1;
+ SCROW nNewRangeStartRow = std::max<SCROW>(nRowStart, rRange.aStart.Row());
+ SCROW nNewRangeEndRow = std::min<SCROW>(nRowEnd, rRange.aEnd.Row());
+ SCCOL nNewRangeStartCol = rRange.aEnd.Col() + 1;
SCCOL nNewRangeEndCol = nColPos + nSize - 1;
aNewRanges.emplace_back(nNewRangeStartCol, nNewRangeStartRow, nTab, nNewRangeEndCol,
nNewRangeEndRow, nTab);
@@ -539,12 +539,12 @@ bool checkForOneRange(
return nDeleteX1 <= nX1 && nX2 <= nDeleteX2 && (nDeleteY1 <= nY1 || nY2 <= nDeleteY2);
}
-bool handleOneRange( const ScRange& rDeleteRange, ScRange* p )
+bool handleOneRange( const ScRange& rDeleteRange, ScRange& r )
{
const ScAddress& rDelStart = rDeleteRange.aStart;
const ScAddress& rDelEnd = rDeleteRange.aEnd;
- ScAddress aPStart = p->aStart;
- ScAddress aPEnd = p->aEnd;
+ ScAddress aPStart = r.aStart;
+ ScAddress aPEnd = r.aEnd;
SCCOL nDeleteCol1 = rDelStart.Col();
SCCOL nDeleteCol2 = rDelEnd.Col();
SCROW nDeleteRow1 = rDelStart.Row();
@@ -565,7 +565,7 @@ bool handleOneRange( const ScRange& rDeleteRange, ScRange* p )
// | |
// +------+ (xxx) = deleted region
- p->aStart.SetRow(nDeleteRow1+1);
+ r.aStart.SetRow(nDeleteRow1+1);
return true;
}
else if (nRow2 <= nDeleteRow2)
@@ -576,7 +576,7 @@ bool handleOneRange( const ScRange& rDeleteRange, ScRange* p )
// |xxxxxx|
// +------+ (xxx) = deleted region
- p->aEnd.SetRow(nDeleteRow1-1);
+ r.aEnd.SetRow(nDeleteRow1-1);
return true;
}
}
@@ -591,7 +591,7 @@ bool handleOneRange( const ScRange& rDeleteRange, ScRange* p )
// |xx| |
// +--+--+ (xxx) = deleted region
- p->aStart.SetCol(nDeleteCol2+1);
+ r.aStart.SetCol(nDeleteCol2+1);
return true;
}
else if (nCol2 <= nDeleteCol2)
@@ -602,19 +602,19 @@ bool handleOneRange( const ScRange& rDeleteRange, ScRange* p )
// | |xx|
// +--+--+ (xxx) = deleted region
- p->aEnd.SetCol(nDeleteCol1-1);
+ r.aEnd.SetCol(nDeleteCol1-1);
return true;
}
}
return false;
}
-bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRange>& rNewRanges )
+bool handleTwoRanges( const ScRange& rDeleteRange, ScRange& r, std::vector<ScRange>& rNewRanges )
{
const ScAddress& rDelStart = rDeleteRange.aStart;
const ScAddress& rDelEnd = rDeleteRange.aEnd;
- ScAddress aPStart = p->aStart;
- ScAddress aPEnd = p->aEnd;
+ ScAddress aPStart = r.aStart;
+ ScAddress aPEnd = r.aEnd;
SCCOL nDeleteCol1 = rDelStart.Col();
SCCOL nDeleteCol2 = rDelEnd.Col();
SCROW nDeleteRow1 = rDelStart.Row();
@@ -645,7 +645,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange( nCol1, nDeleteRow1, nTab, nDeleteCol1-1, nRow2, nTab ); // 2
rNewRanges.push_back(aNewRange);
- p->aEnd.SetRow(nDeleteRow1-1); // 1
+ r.aEnd.SetRow(nDeleteRow1-1); // 1
return true;
}
else if (nRow1 <= nDeleteRow2 && nDeleteRow2 < nRow2 && nDeleteRow1 <= nRow1)
@@ -664,7 +664,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange( aPStart, ScAddress(nDeleteCol1-1, nRow2, nTab) ); // 1
rNewRanges.push_back(aNewRange);
- p->aStart.SetRow(nDeleteRow2+1); // 2
+ r.aStart.SetRow(nDeleteRow2+1); // 2
return true;
}
}
@@ -689,7 +689,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange( ScAddress( nDeleteCol2+1, nDeleteRow1, nTab ), aPEnd ); // 2
rNewRanges.push_back(aNewRange);
- p->aEnd.SetRow(nDeleteRow1-1); // 1
+ r.aEnd.SetRow(nDeleteRow1-1); // 1
return true;
}
else if (nRow1 <= nDeleteRow2 && nDeleteRow2 < nRow2 && nDeleteRow1 <= nRow1)
@@ -708,7 +708,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange(nDeleteCol2+1, nRow1, nTab, nCol2, nDeleteRow2, nTab); // 1
rNewRanges.push_back(aNewRange);
- p->aStart.SetRow(nDeleteRow2+1); // 2
+ r.aStart.SetRow(nDeleteRow2+1); // 2
return true;
}
}
@@ -725,7 +725,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange( aPStart, ScAddress(nCol2, nDeleteRow1-1, nTab) ); // 1
rNewRanges.push_back(aNewRange);
- p->aStart.SetRow(nDeleteRow2+1); // 2
+ r.aStart.SetRow(nDeleteRow2+1); // 2
return true;
}
else if (nCol1 < nDeleteCol1 && nDeleteCol2 < nCol2 && nDeleteRow1 <= nRow1 && nRow2 <= nDeleteRow2)
@@ -741,7 +741,7 @@ bool handleTwoRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRan
ScRange aNewRange( aPStart, ScAddress(nDeleteCol1-1, nRow2, nTab) ); // 1
rNewRanges.push_back(aNewRange);
- p->aStart.SetCol(nDeleteCol2+1); // 2
+ r.aStart.SetCol(nDeleteCol2+1); // 2
return true;
}
@@ -785,12 +785,12 @@ bool checkForThreeRanges(
return false;
}
-bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScRange>& rNewRanges )
+bool handleThreeRanges( const ScRange& rDeleteRange, ScRange& r, std::vector<ScRange>& rNewRanges )
{
const ScAddress& rDelStart = rDeleteRange.aStart;
const ScAddress& rDelEnd = rDeleteRange.aEnd;
- ScAddress aPStart = p->aStart;
- ScAddress aPEnd = p->aEnd;
+ ScAddress aPStart = r.aStart;
+ ScAddress aPEnd = r.aEnd;
SCCOL nDeleteCol1 = rDelStart.Col();
SCCOL nDeleteCol2 = rDelEnd.Col();
SCROW nDeleteRow1 = rDelStart.Row();
@@ -819,7 +819,7 @@ bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScR
aNewRange = ScRange(ScAddress(nDeleteCol1, nDeleteRow2+1, nTab), aPEnd); // 3
rNewRanges.push_back(aNewRange);
- p->aEnd.SetCol(nDeleteCol1-1); // 1
+ r.aEnd.SetCol(nDeleteCol1-1); // 1
}
else
{
@@ -837,7 +837,7 @@ bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScR
aNewRange = ScRange(nCol1, nDeleteRow2+1, nTab, nDeleteCol2, nRow2, nTab); // 3
rNewRanges.push_back(aNewRange);
- p->aStart.SetCol(nDeleteCol2+1); // 2
+ r.aStart.SetCol(nDeleteCol2+1); // 2
}
return true;
}
@@ -861,7 +861,7 @@ bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScR
aNewRange = ScRange(ScAddress(nDeleteCol2+1, nDeleteRow1, nTab), aPEnd); // 3
rNewRanges.push_back( aNewRange );
- p->aEnd.SetRow(nDeleteRow1-1); // 1
+ r.aEnd.SetRow(nDeleteRow1-1); // 1
}
else
{
@@ -880,7 +880,7 @@ bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScR
aNewRange = ScRange(nDeleteCol2+1, nRow1, nTab, nCol2, nDeleteRow2, nTab); // 2
rNewRanges.push_back( aNewRange );
- p->aStart.SetRow(nDeleteRow2+1); // 3
+ r.aStart.SetRow(nDeleteRow2+1); // 3
}
return true;
}
@@ -888,12 +888,12 @@ bool handleThreeRanges( const ScRange& rDeleteRange, ScRange* p, std::vector<ScR
return false;
}
-bool handleFourRanges( const ScRange& rDelRange, ScRange* p, std::vector<ScRange>& rNewRanges )
+bool handleFourRanges( const ScRange& rDelRange, ScRange& r, std::vector<ScRange>& rNewRanges )
{
const ScAddress& rDelStart = rDelRange.aStart;
const ScAddress& rDelEnd = rDelRange.aEnd;
- ScAddress aPStart = p->aStart;
- ScAddress aPEnd = p->aEnd;
+ ScAddress aPStart = r.aStart;
+ ScAddress aPEnd = r.aEnd;
SCCOL nDeleteCol1 = rDelStart.Col();
SCCOL nDeleteCol2 = rDelEnd.Col();
SCROW nDeleteRow1 = rDelStart.Row();
@@ -926,7 +926,7 @@ bool handleFourRanges( const ScRange& rDelRange, ScRange* p, std::vector<ScRange
aNewRange = ScRange(nDeleteCol2+1, nDeleteRow1, nTab, nCol2, nDeleteRow2, nTab); // 3
rNewRanges.push_back( aNewRange );
- p->aEnd.SetRow(nDeleteRow1-1); // 1
+ r.aEnd.SetRow(nDeleteRow1-1); // 1
return true;
}
@@ -960,7 +960,7 @@ bool ScRangeList::DeleteArea( SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
// 1. Delete area and pRange intersect
// 2. Delete area and pRange are not intersecting
// checking for 2 and if true skip this range
- if(!(*itr)->Intersects(aRange))
+ if(!itr->Intersects(aRange))
continue;
// We get between 1 and 4 ranges from the difference of the first with the second
@@ -1016,14 +1016,14 @@ const ScRange* ScRangeList::Find( const ScAddress& rAdr ) const
{
const_iterator itr = find_if(
maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
- return itr == maRanges.end() ? nullptr : *itr;
+ return itr == maRanges.end() ? nullptr : &*itr;
}
ScRange* ScRangeList::Find( const ScAddress& rAdr )
{
iterator itr = find_if(
maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
- return itr == maRanges.end() ? nullptr : *itr;
+ return itr == maRanges.end() ? nullptr : &*itr;
}
ScRangeList::ScRangeList() : mnMaxRowUsed(-1) {}
@@ -1037,11 +1037,18 @@ ScRangeList::ScRangeList( const ScRangeList& rList ) :
mnMaxRowUsed = rList.mnMaxRowUsed;
}
+ScRangeList::ScRangeList( const ScRangeList&& rList ) :
+ SvRefBase(),
+ maRanges(rList.maRanges),
+ mnMaxRowUsed(rList.mnMaxRowUsed)
+{
+}
+
ScRangeList::ScRangeList( const ScRange& rRange ) :
mnMaxRowUsed(-1)
{
maRanges.reserve(1);
- Append(rRange);
+ push_back(rRange);
}
ScRangeList& ScRangeList::operator=(const ScRangeList& rList)
@@ -1053,10 +1060,11 @@ ScRangeList& ScRangeList::operator=(const ScRangeList& rList)
return *this;
}
-void ScRangeList::Append( const ScRange& rRange )
+ScRangeList& ScRangeList::operator=(ScRangeList&& rList)
{
- ScRange* pR = new ScRange( rRange );
- push_back( pR );
+ maRanges = std::move(rList.maRanges);
+ mnMaxRowUsed = rList.mnMaxRowUsed;
+ return *this;
}
bool ScRangeList::Intersects( const ScRange& rRange ) const
@@ -1080,16 +1088,11 @@ void ScRangeList::Remove(size_t nPos)
if (maRanges.size() <= nPos)
// Out-of-bound condition. Bail out.
return;
-
- iterator itr = maRanges.begin();
- advance(itr, nPos);
- delete *itr;
- maRanges.erase(itr);
+ maRanges.erase(maRanges.begin() + nPos);
}
void ScRangeList::RemoveAll()
{
- for_each(maRanges.begin(), maRanges.end(), std::default_delete<ScRange>());
maRanges.clear();
}
@@ -1099,11 +1102,11 @@ ScRange ScRangeList::Combine() const
return ScRange();
const_iterator itr = maRanges.begin(), itrEnd = maRanges.end();
- ScRange aRet = **itr;
+ ScRange aRet = *itr;
++itr;
for (; itr != itrEnd; ++itr)
{
- const ScRange& r = **itr;
+ const ScRange& r = *itr;
SCROW nRow1 = r.aStart.Row(), nRow2 = r.aEnd.Row();
SCCOL nCol1 = r.aStart.Col(), nCol2 = r.aEnd.Col();
SCTAB nTab1 = r.aStart.Tab(), nTab2 = r.aEnd.Tab();
@@ -1123,51 +1126,11 @@ ScRange ScRangeList::Combine() const
return aRet;
}
-bool ScRangeList::empty() const
-{
- return maRanges.empty();
-}
-
-size_t ScRangeList::size() const
-{
- return maRanges.size();
-}
-
-ScRange* ScRangeList::operator [](size_t idx)
-{
- return maRanges[idx];
-}
-
-const ScRange* ScRangeList::operator [](size_t idx) const
-{
- return maRanges[idx];
-}
-
-ScRange* ScRangeList::front()
-{
- return maRanges.front();
-}
-
-const ScRange* ScRangeList::front() const
-{
- return maRanges.front();
-}
-
-ScRange* ScRangeList::back()
-{
- return maRanges.back();
-}
-
-const ScRange* ScRangeList::back() const
-{
- return maRanges.back();
-}
-
-void ScRangeList::push_back(ScRange* p)
+void ScRangeList::push_back(const ScRange & r)
{
- maRanges.push_back(p);
- if (mnMaxRowUsed < p->aEnd.Row())
- mnMaxRowUsed = p->aEnd.Row();
+ maRanges.push_back(r);
+ if (mnMaxRowUsed < r.aEnd.Row())
+ mnMaxRowUsed = r.aEnd.Row();
}
void ScRangeList::swap( ScRangeList& r )
@@ -1181,14 +1144,14 @@ ScAddress ScRangeList::GetTopLeftCorner() const
if(empty())
return ScAddress();
- ScAddress aAddr = maRanges[0]->aStart;
+ ScAddress const * pAddr = &maRanges[0].aStart;
for(size_t i = 1, n = size(); i < n; ++i)
{
- if(maRanges[i]->aStart < aAddr)
- aAddr = maRanges[i]->aStart;
+ if(maRanges[i].aStart < *pAddr)
+ pAddr = &maRanges[i].aStart;
}
- return aAddr;
+ return *pAddr;
}
ScRangeList ScRangeList::GetIntersectedRange(const ScRange& rRange) const
@@ -1197,12 +1160,12 @@ ScRangeList ScRangeList::GetIntersectedRange(const ScRange& rRange) const
for(const_iterator itr = maRanges.begin(), itrEnd = maRanges.end();
itr != itrEnd; ++itr)
{
- if((*itr)->Intersects(rRange))
+ if(itr->Intersects(rRange))
{
SCCOL nColStart1, nColEnd1, nColStart2, nColEnd2;
SCROW nRowStart1, nRowEnd1, nRowStart2, nRowEnd2;
SCTAB nTabStart1, nTabEnd1, nTabStart2, nTabEnd2;
- (*itr)->GetVars(nColStart1, nRowStart1, nTabStart1,
+ itr->GetVars(nColStart1, nRowStart1, nTabStart1,
nColEnd1, nRowEnd1, nTabEnd1);
rRange.GetVars(nColStart2, nRowStart2, nTabStart2,
nColEnd2, nRowEnd2, nTabEnd2);
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 67bd9354894a..153fc21ca3ff 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -542,13 +542,13 @@ bool ScRangeStringConverter::GetRangeListFromString(
sal_Int32 nOffset = 0;
while( nOffset >= 0 )
{
- std::unique_ptr<ScRange> pRange( new ScRange );
+ ScRange aRange;
if (
- GetRangeFromString( *pRange, rRangeListStr, pDocument, eConv, nOffset, cSeparator, cQuote ) &&
+ GetRangeFromString( aRange, rRangeListStr, pDocument, eConv, nOffset, cSeparator, cQuote ) &&
(nOffset >= 0)
)
{
- rRangeList.push_back( pRange.release() );
+ rRangeList.push_back( aRange );
}
else if (nOffset > -1)
bRet = false;
@@ -644,9 +644,8 @@ void ScRangeStringConverter::GetStringFromRangeList(
{
for( size_t nIndex = 0, nCount = pRangeList->size(); nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = (*pRangeList)[nIndex];
- if( pRange )
- GetStringFromRange( sRangeListStr, *pRange, pDocument, eConv, cSeparator, true );
+ const ScRange & rRange = (*pRangeList)[nIndex];
+ GetStringFromRange( sRangeListStr, rRange, pDocument, eConv, cSeparator, true );
}
}
rString = sRangeListStr;
diff --git a/sc/source/core/tool/reftokenhelper.cxx b/sc/source/core/tool/reftokenhelper.cxx
index d1422f1ab266..af6960e1cd48 100644
--- a/sc/source/core/tool/reftokenhelper.cxx
+++ b/sc/source/core/tool/reftokenhelper.cxx
@@ -163,7 +163,7 @@ void ScRefTokenHelper::getRangeListFromTokens(
{
ScRange aRange;
getRangeFromToken(aRange, *itr, rPos);
- rRangeList.Append(aRange);
+ rRangeList.push_back(aRange);
}
}
@@ -187,13 +187,9 @@ void ScRefTokenHelper::getTokensFromRangeList(vector<ScTokenRef>& pTokens, const
aTokens.reserve(nCount);
for (size_t i = 0; i < nCount; ++i)
{
- const ScRange* pRange = rRanges[i];
- if (!pRange)
- // failed.
- return;
-
+ const ScRange & rRange = rRanges[i];
ScTokenRef pToken;
- ScRefTokenHelper::getTokenFromRange(pToken,* pRange);
+ ScRefTokenHelper::getTokenFromRange(pToken, rRange);
aTokens.push_back(pToken);
}
pTokens.swap(aTokens);
diff --git a/sc/source/filter/excel/excform.cxx b/sc/source/filter/excel/excform.cxx
index 499c315baf26..b7c7afab7ba6 100644
--- a/sc/source/filter/excel/excform.cxx
+++ b/sc/source/filter/excel/excform.cxx
@@ -1423,7 +1423,7 @@ void ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, std::s
nRow1 &= 0x3FFF;
nRow2 &= 0x3FFF;
if( GetAddressConverter().ConvertRange( aScRange, XclRange( nCol1, nRow1, nCol2, nRow2 ), nTab1, nTab2, true ) )
- rRangeList.Append( aScRange );
+ rRangeList.push_back( aScRange );
}
break;
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx
index ccd2211a275e..515e89ca2c53 100644
--- a/sc/source/filter/excel/excform8.cxx
+++ b/sc/source/filter/excel/excform8.cxx
@@ -1580,7 +1580,7 @@ void ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, std::size_t nLen
nCol1 &= 0x3FFF;
nCol2 &= 0x3FFF;
if( GetAddressConverter().ConvertRange( aScRange, XclRange( nCol1, nRow1, nCol2, nRow2 ), nTab1, nTab2, true ) )
- r.Append( aScRange );
+ r.push_back( aScRange );
}
break;
case 0x1C: // Error Value [314 266]
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index 7eb0f6854530..473200a13c5a 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -258,7 +258,7 @@ void XclExpMergedcells::AppendRange( const ScRange& rRange, sal_uInt32 nBaseXFId
{
if( GetBiff() == EXC_BIFF8 )
{
- maMergedRanges.Append( rRange );
+ maMergedRanges.push_back( rRange );
maBaseXFIds.push_back( nBaseXFId );
}
}
@@ -270,8 +270,8 @@ sal_uInt32 XclExpMergedcells::GetBaseXFId( const ScAddress& rPos ) const
ScRangeList& rNCRanges = const_cast< ScRangeList& >( maMergedRanges );
for ( size_t i = 0, nRanges = rNCRanges.size(); i < nRanges; ++i, ++aIt )
{
- const ScRange* pScRange = rNCRanges[ i ];
- if( pScRange->In( rPos ) )
+ const ScRange & rScRange = rNCRanges[ i ];
+ if( rScRange.In( rPos ) )
return *aIt;
}
return EXC_XFID_NOTFOUND;
@@ -308,12 +308,10 @@ void XclExpMergedcells::SaveXml( XclExpXmlStream& rStrm )
FSEND );
for( size_t i = 0; i < nCount; ++i )
{
- if( const ScRange* pRange = maMergedRanges[ i ] )
- {
- rWorksheet->singleElement( XML_mergeCell,
- XML_ref, XclXmlUtils::ToOString( *pRange ).getStr(),
+ const ScRange & rRange = maMergedRanges[ i ];
+ rWorksheet->singleElement( XML_mergeCell,
+ XML_ref, XclXmlUtils::ToOString( rRange ).getStr(),
FSEND );
- }
}
rWorksheet->endElement( XML_mergeCells );
}
@@ -540,9 +538,9 @@ XclExpLabelranges::XclExpLabelranges( const XclExpRoot& rRoot ) :
// row labels only over 1 column (restriction of Excel97/2000/XP)
for ( size_t i = 0, nRanges = maRowRanges.size(); i < nRanges; ++i )
{
- ScRange* pScRange = maRowRanges[ i ];
- if( pScRange->aStart.Col() != pScRange->aEnd.Col() )
- pScRange->aEnd.SetCol( pScRange->aStart.Col() );
+ ScRange & rScRange = maRowRanges[ i ];
+ if( rScRange.aStart.Col() != rScRange.aEnd.Col() )
+ rScRange.aEnd.SetCol( rScRange.aStart.Col() );
}
// col label ranges
FillRangeList( maColRanges, rRoot.GetDoc().GetColNameRangesRef(), nScTab );
@@ -556,7 +554,7 @@ void XclExpLabelranges::FillRangeList( ScRangeList& rScRanges,
ScRangePair* pRangePair = (*xLabelRangesRef)[i];
const ScRange& rScRange = pRangePair->GetRange( 0 );
if( rScRange.aStart.Tab() == nScTab )
- rScRanges.Append( rScRange );
+ rScRanges.push_back( rScRange );
}
}
@@ -1345,8 +1343,8 @@ XclExpColorScale::XclExpColorScale( const XclExpRoot& rRoot, const ScColorScaleF
XclExpRoot( rRoot ),
mnPriority( nPriority )
{
- const ScRange* pRange = rFormat.GetRange().front();
- ScAddress aAddr = pRange->aStart;
+ const ScRange & rRange = rFormat.GetRange().front();
+ ScAddress aAddr = rRange.aStart;
for(ScColorScaleEntries::const_iterator itr = rFormat.begin();
itr != rFormat.end(); ++itr)
{
@@ -1385,8 +1383,8 @@ XclExpDataBar::XclExpDataBar( const XclExpRoot& rRoot, const ScDataBarFormat& rF
mnPriority( nPriority ),
maGUID(rGUID)
{
- const ScRange* pRange = rFormat.GetRange().front();
- ScAddress aAddr = pRange->aStart;
+ const ScRange & rRange = rFormat.GetRange().front();
+ ScAddress aAddr = rRange.aStart;
// exact position is not important, we allow only absolute refs
mpCfvoLowerLimit.reset( new XclExpCfvo( GetRoot(), *mrFormat.GetDataBarData()->mpLowerLimit.get(), aAddr, true ) );
mpCfvoUpperLimit.reset( new XclExpCfvo( GetRoot(), *mrFormat.GetDataBarData()->mpUpperLimit.get(), aAddr, false ) );
@@ -1438,8 +1436,8 @@ XclExpIconSet::XclExpIconSet( const XclExpRoot& rRoot, const ScIconSetFormat& rF
mrFormat( rFormat ),
mnPriority( nPriority )
{
- const ScRange* pRange = rFormat.GetRange().front();
- ScAddress aAddr = pRange->aStart;
+ const ScRange & rRange = rFormat.GetRange().front();
+ ScAddress aAddr = rRange.aStart;
for (auto const& itr : rFormat)
{
// exact position is not important, we allow only absolute refs
diff --git a/sc/source/filter/excel/xeextlst.cxx b/sc/source/filter/excel/xeextlst.cxx
index 52d90b14867e..0fa28198e2e2 100644
--- a/sc/source/filter/excel/xeextlst.cxx
+++ b/sc/source/filter/excel/xeextlst.cxx
@@ -308,7 +308,7 @@ XclExpExtConditionalFormatting::XclExpExtConditionalFormatting( const XclExpRoot
XclExpRoot(rRoot),
maRange(rRange)
{
- ScAddress aAddr = maRange.front()->aStart;
+ ScAddress aAddr = maRange.front().aStart;
for (auto itr = rData.begin(), itrEnd = rData.end(); itr != itrEnd; ++itr)
{
const ScFormatEntry* pEntry = itr->pEntry;
diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx
index dab92a0ba6a9..3cd1bd9a06bf 100644
--- a/sc/source/filter/excel/xeformula.cxx
+++ b/sc/source/filter/excel/xeformula.cxx
@@ -2630,7 +2630,7 @@ XclTokenArrayRef XclExpFormulaCompiler::CreateFormula( XclFormulaType eType, con
{
if( nIdx > 0 )
aScTokArr.AddOpCode( ocUnion );
- lclPutRangeToTokenArray( aScTokArr, *rScRanges[ nIdx ], nCurrScTab, b3DRefOnly );
+ lclPutRangeToTokenArray( aScTokArr, rScRanges[ nIdx ], nCurrScTab, b3DRefOnly );
}
return mxImpl->CreateFormula( eType, aScTokArr );
}
diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx
index d9f7e3806e28..0d9d7b473462 100644
--- a/sc/source/filter/excel/xehelper.cxx
+++ b/sc/source/filter/excel/xehelper.cxx
@@ -250,8 +250,8 @@ void XclExpAddressConverter::ValidateRangeList( ScRangeList& rScRanges, bool bWa
{
for ( size_t nRange = rScRanges.size(); nRange > 0; )
{
- ScRange* pScRange = rScRanges[ --nRange ];
- if( !CheckRange( *pScRange, bWarn ) )
+ ScRange & rScRange = rScRanges[ --nRange ];
+ if( !CheckRange( rScRange, bWarn ) )
rScRanges.Remove(nRange);
}
}
@@ -262,12 +262,10 @@ void XclExpAddressConverter::ConvertRangeList( XclRangeList& rXclRanges,
rXclRanges.clear();
for( size_t nPos = 0, nCount = rScRanges.size(); nPos < nCount; ++nPos )
{
- if( const ScRange* pScRange = rScRanges[ nPos ] )
- {
- XclRange aXclRange( ScAddress::UNINITIALIZED );
- if( ConvertRange( aXclRange, *pScRange, bWarn ) )
- rXclRanges.push_back( aXclRange );
- }
+ const ScRange & rScRange = rScRanges[ nPos ];
+ XclRange aXclRange( ScAddress::UNINITIALIZED );
+ if( ConvertRange( aXclRange, rScRange, bWarn ) )
+ rXclRanges.push_back( aXclRange );
}
}
diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx
index 7b315d195476..d0f957924a99 100644
--- a/sc/source/filter/excel/xename.cxx
+++ b/sc/source/filter/excel/xename.cxx
@@ -602,7 +602,7 @@ void XclExpNameManagerImpl::CreateBuiltInNames()
aRange.aStart.SetTab( nScTab );
aRange.aEnd.SetTab( nScTab );
aRange.PutInOrder();
- aRangeList.Append( aRange );
+ aRangeList.push_back( aRange );
}
// create the NAME record (do not warn if ranges are shrunken)
GetAddressConverter().ValidateRangeList( aRangeList, false );
@@ -615,12 +615,12 @@ void XclExpNameManagerImpl::CreateBuiltInNames()
ScRangeList aTitleList;
// repeated columns
if( const ScRange* pColRange = rDoc.GetRepeatColRange( nScTab ) )
- aTitleList.Append( ScRange(
+ aTitleList.push_back( ScRange(
pColRange->aStart.Col(), 0, nScTab,
pColRange->aEnd.Col(), GetXclMaxPos().Row(), nScTab ) );
// repeated rows
if( const ScRange* pRowRange = rDoc.GetRepeatRowRange( nScTab ) )
- aTitleList.Append( ScRange(
+ aTitleList.push_back( ScRange(
0, pRowRange->aStart.Row(), nScTab,
GetXclMaxPos().Col(), pRowRange->aEnd.Row(), nScTab ) );
// create the NAME record
@@ -695,7 +695,7 @@ sal_uInt16 XclExpNameManager::InsertBuiltInName( sal_Unicode cBuiltIn, const ScR
if( !rRangeList.empty() )
{
XclTokenArrayRef xTokArr = GetFormulaCompiler().CreateFormula( EXC_FMLATYPE_NAME, rRangeList );
- nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.front()->aStart.Tab(), rRangeList );
+ nNameIdx = mxImpl->InsertBuiltInName( cBuiltIn, xTokArr, rRangeList.front().aStart.Tab(), rRangeList );
}
return nNameIdx;
}
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 537c494cde52..5a1c4a96df8a 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -778,7 +778,7 @@ OString XclXmlUtils::ToOString( const XclRangeList& rRanges )
for( XclRangeVector::const_iterator i = rRanges.begin(), end = rRanges.end();
i != end; ++i )
{
- aRanges.Append( lcl_ToRange( *i ) );
+ aRanges.push_back( lcl_ToRange( *i ) );
}
return ToOString( aRanges );
}
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 5c01b7e82c8c..91244a77bca1 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -448,7 +448,6 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
SCTAB nScTab = rRoot.GetCurrScTab();
XclImpAddressConverter& rAddrConv = rRoot.GetAddressConverter();
ScRangePairListRef xLabelRangesRef;
- const ScRange* pScRange = nullptr;
XclRangeList aRowXclRanges, aColXclRanges;
rStrm >> aRowXclRanges >> aColXclRanges;
@@ -459,8 +458,8 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
xLabelRangesRef = rDoc.GetRowNameRangesRef();
for ( size_t i = 0, nRanges = aRowScRanges.size(); i < nRanges; ++i )
{
- pScRange = aRowScRanges[ i ];
- ScRange aDataRange( *pScRange );
+ const ScRange & rScRange = aRowScRanges[ i ];
+ ScRange aDataRange( rScRange );
if( aDataRange.aEnd.Col() < MAXCOL )
{
aDataRange.aStart.SetCol( aDataRange.aEnd.Col() + 1 );
@@ -471,7 +470,7 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
aDataRange.aEnd.SetCol( aDataRange.aStart.Col() - 1 );
aDataRange.aStart.SetCol( 0 );
}
- xLabelRangesRef->Append( ScRangePair( *pScRange, aDataRange ) );
+ xLabelRangesRef->Append( ScRangePair( rScRange, aDataRange ) );
}
// column label ranges
@@ -481,8 +480,8 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
for ( size_t i = 0, nRanges = aColScRanges.size(); i < nRanges; ++i )
{
- pScRange = aColScRanges[ i ];
- ScRange aDataRange( *pScRange );
+ const ScRange & rScRange = aColScRanges[ i ];
+ ScRange aDataRange( rScRange );
if( aDataRange.aEnd.Row() < MAXROW )
{
aDataRange.aStart.SetRow( aDataRange.aEnd.Row() + 1 );
@@ -493,7 +492,7 @@ void XclImpLabelranges::ReadLabelranges( XclImpStream& rStrm )
aDataRange.aEnd.SetRow( aDataRange.aStart.Row() - 1 );
aDataRange.aStart.SetRow( 0 );
}
- xLabelRangesRef->Append( ScRangePair( *pScRange, aDataRange ) );
+ xLabelRangesRef->Append( ScRangePair( rScRange, aDataRange ) );
}
}
@@ -651,7 +650,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
// *** formulas ***
- const ScAddress& rPos = maRanges.front()->aStart; // assured above that maRanges is not empty
+ const ScAddress& rPos = maRanges.front().aStart; // assured above that maRanges is not empty
ExcelToSc& rFmlaConv = GetOldFmlaConverter();
::std::unique_ptr< ScTokenArray > xTokArr1;
@@ -690,7 +689,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm )
{
mxScCondFmt.reset( new ScConditionalFormat( 0/*nKey*/, &GetDocRef() ) );
if(maRanges.size() > 1)
- maRanges.Join(*maRanges[0], true);
+ maRanges.Join(maRanges[0], true);
mxScCondFmt->SetRange(maRanges);
}
@@ -705,7 +704,7 @@ void XclImpCondFormat::Apply()
{
ScDocument& rDoc = GetDoc();
- SCTAB nTab = maRanges.front()->aStart.Tab();
+ SCTAB nTab = maRanges.front().aStart.Tab();
sal_uLong nKey = rDoc.AddCondFormat( mxScCondFmt->Clone(), nTab );
rDoc.AddCondFormatData( maRanges, nTab, nKey );
@@ -888,7 +887,7 @@ void XclImpValidationManager::ReadDV( XclImpStream& rStrm )
return;
// first range for base address for relative references
- const ScRange& rScRange = *aScRanges.front(); // aScRanges is not empty
+ const ScRange& rScRange = aScRanges.front(); // aScRanges is not empty
// process string list of a list validity (convert to list of string tokens)
if( xTokArr1.get() && (eValMode == SC_VALID_LIST) && ::get_flag( nFlags, EXC_DV_STRINGLIST ) )
@@ -938,9 +937,9 @@ void XclImpValidationManager::Apply()
// apply all ranges
for ( size_t i = 0, nRanges = rItem.maRanges.size(); i < nRanges; ++i )
{
- const ScRange* pScRange = rItem.maRanges[ i ];
- rDoc.ApplyPatternAreaTab( pScRange->aStart.Col(), pScRange->aStart.Row(),
- pScRange->aEnd.Col(), pScRange->aEnd.Row(), pScRange->aStart.Tab(), aPattern );
+ const ScRange & rScRange = rItem.maRanges[ i ];
+ rDoc.ApplyPatternAreaTab( rScRange.aStart.Col(), rScRange.aStart.Row(),
+ rScRange.aEnd.Col(), rScRange.aEnd.Row(), rScRange.aStart.Tab(), aPattern );
}
}
maDVItems.clear();
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index f38c13f75ca0..94b2d0130d0b 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -1927,8 +1927,8 @@ void XclImpControlHelper::ReadCellLinkFormula( XclImpStream& rStrm, bool bWithBo
// Use first cell of first range
if ( !aScRanges.empty() )
{
- const ScRange* pScRange = aScRanges.front();
- mxCellLink.reset( new ScAddress( pScRange->aStart ) );
+ const ScRange & rScRange = aScRanges.front();
+ mxCellLink.reset( new ScAddress( rScRange.aStart ) );
}
}
@@ -1939,8 +1939,8 @@ void XclImpControlHelper::ReadSourceRangeFormula( XclImpStream& rStrm, bool bWit
// Use first range
if ( !aScRanges.empty() )
{
- const ScRange* pScRange = aScRanges.front();
- mxSrcRange.reset( new ScRange( *pScRange ) );
+ const ScRange & rScRange = aScRanges.front();
+ mxSrcRange.reset( new ScRange( rScRange ) );
}
}
diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx
index 3633a01a32eb..c2b65d12745d 100644
--- a/sc/source/filter/excel/xihelper.cxx
+++ b/sc/source/filter/excel/xihelper.cxx
@@ -131,7 +131,7 @@ void XclImpAddressConverter::ConvertRangeList( ScRangeList& rScRanges,
{
ScRange aScRange( ScAddress::UNINITIALIZED );
if( ConvertRange( aScRange, *aIt, nScTab, nScTab, bWarn ) )
- rScRanges.Append( aScRange );
+ rScRanges.push_back( aScRange );
}
}
diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx
index 1059f886d38b..75100c81b557 100644
--- a/sc/source/filter/excel/xistyle.cxx
+++ b/sc/source/filter/excel/xistyle.cxx
@@ -1905,11 +1905,11 @@ void XclImpXFRangeBuffer::SetXF( const ScAddress& rScPos, sal_uInt16 nXFIndex, X
if( pXF && ((pXF->GetHorAlign() == EXC_XF_HOR_CENTER_AS) || (pXF->GetHorAlign() == EXC_XF_HOR_FILL)) )
{
// expand last merged range if this attribute is set repeatedly
- ScRange* pRange = maMergeList.empty() ? nullptr : maMergeList.back();
+ ScRange* pRange = maMergeList.empty() ? nullptr : &maMergeList.back();
if (pRange && (pRange->aEnd.Row() == nScRow) && (pRange->aEnd.Col() + 1 == nScCol) && (eMode == xlXFModeBlank))
pRange->aEnd.IncCol();
else if( eMode != xlXFModeBlank ) // do not merge empty cells
- maMergeList.Append( ScRange( nScCol, nScRow, 0 ) );
+ maMergeList.push_back( ScRange( nScCol, nScRow, 0 ) );
}
}
}
@@ -1970,7 +1970,7 @@ void XclImpXFRangeBuffer::SetHyperlink( const XclRange& rXclRange, const OUStrin
void XclImpXFRangeBuffer::SetMerge( SCCOL nScCol1, SCROW nScRow1, SCCOL nScCol2, SCROW nScRow2 )
{
if( (nScCol1 < nScCol2) || (nScRow1 < nScRow2) )
- maMergeList.Append( ScRange( nScCol1, nScRow1, 0, nScCol2, nScRow2, 0 ) );
+ maMergeList.push_back( ScRange( nScCol1, nScRow1, 0, nScCol2, nScRow2, 0 ) );
}
void XclImpXFRangeBuffer::Finalize()
@@ -2029,17 +2029,17 @@ void XclImpXFRangeBuffer::Finalize()
// apply cell merging
for ( size_t i = 0, nRange = maMergeList.size(); i < nRange; ++i )
{
- const ScRange* pRange = maMergeList[ i ];
- const ScAddress& rStart = pRange->aStart;
- const ScAddress& rEnd = pRange->aEnd;
+ const ScRange & rRange = maMergeList[ i ];
+ const ScAddress& rStart = rRange.aStart;
+ const ScAddress& rEnd = rRange.aEnd;
bool bMultiCol = rStart.Col() != rEnd.Col();
bool bMultiRow = rStart.Row() != rEnd.Row();
// set correct right border
if( bMultiCol )
- SetBorderLine( *pRange, nScTab, SvxBoxItemLine::RIGHT );
+ SetBorderLine( rRange, nScTab, SvxBoxItemLine::RIGHT );
// set correct lower border
if( bMultiRow )
- SetBorderLine( *pRange, nScTab, SvxBoxItemLine::BOTTOM );
+ SetBorderLine( rRange, nScTab, SvxBoxItemLine::BOTTOM );
// do merge
if( bMultiCol || bMultiRow )
rDoc.getDoc().DoMerge( nScTab, rStart.Col(), rStart.Row(), rEnd.Col(), rEnd.Row() );
diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx
index 40655830d47e..a5f1f11abe4b 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -221,7 +221,7 @@ OUString ScHTMLImport::GetHTMLRangeNameList( const ScDocument* pDoc, const OUStr
if( pRangeData->IsReference( aRange ) && !aRangeList.In( aRange ) )
{
aNewName = ScGlobal::addToken(aNewName, aToken, ';');
- aRangeList.Append( aRange );
+ aRangeList.push_back( aRange );
}
}
else
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index fd596fbcf173..e53eec4d04fe 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -445,10 +445,10 @@ void ScHTMLLayoutParser::SkipLocked( ScEEParseEntry* pE, bool bJoin )
bAgain = false;
for ( size_t i = 0, nRanges = xLockedList->size(); i < nRanges; ++i )
{
- ScRange* pR = (*xLockedList)[i];
- if ( pR->Intersects( aRange ) )
+ ScRange & rR = (*xLockedList)[i];
+ if ( rR.Intersects( aRange ) )
{
- pE->nCol = pR->aEnd.Col() + 1;
+ pE->nCol = rR.aEnd.Col() + 1;
SCCOL nTmp = pE->nCol + pE->nColOverlap - 1;
if ( pE->nCol > MAXCOL || nTmp > MAXCOL )
bBadCol = true;
@@ -2428,7 +2428,7 @@ void ScHTMLTable::InsertNewCell( const ScHTMLSize& rSpanSize )
}
if( rSpanSize.mnRows > 1 )
{
- maVMergedCells.Append( aNewRange );
+ maVMergedCells.push_back( aNewRange );
/* Do not insert vertically merged ranges into maUsedCells yet,
because they may be shrunken (see above). The final vertically
merged ranges are inserted in FillEmptyCells(). */
@@ -2436,7 +2436,7 @@ void ScHTMLTable::InsertNewCell( const ScHTMLSize& rSpanSize )
else
{
if( rSpanSize.mnCols > 1 )
- maHMergedCells.Append( aNewRange );
+ maHMergedCells.push_back( aNewRange );
/* Insert horizontally merged ranges and single cells into
maUsedCells, they will not be changed anymore. */
maUsedCells.Join( aNewRange );
@@ -2589,8 +2589,8 @@ void ScHTMLTable::FillEmptyCells()
// insert the final vertically merged ranges into maUsedCells
for ( size_t i = 0, nRanges = maVMergedCells.size(); i < nRanges; ++i )
{
- ScRange* pRange = maVMergedCells[ i ];
- maUsedCells.Join( *pRange );
+ ScRange & rRange = maVMergedCells[ i ];
+ maUsedCells.Join( rRange );
}
for( ScAddress aAddr; aAddr.Row() < maSize.mnRows; aAddr.IncRow() )
diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx
index 9f77412e3c7d..987cef40c99c 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -421,7 +421,7 @@ bool AddressConverter::convertToCellRange( ScRange& orRange,
void AddressConverter::validateCellRangeList( ScRangeList& orRanges, bool bTrackOverflow )
{
for( size_t nIndex = orRanges.size(); nIndex > 0; --nIndex )
- if( !validateCellRange( *orRanges[ nIndex - 1 ], true, bTrackOverflow ) )
+ if( !validateCellRange( orRanges[ nIndex - 1 ], true, bTrackOverflow ) )
orRanges.Remove( nIndex - 1 );
}
@@ -435,7 +435,7 @@ void AddressConverter::convertToCellRangeList( ScRangeList& orRanges,
{
OUString aToken = rString.getToken( 0, ' ', nPos );
if( !aToken.isEmpty() && convertToCellRange( aRange, aToken, nSheet, true, bTrackOverflow ) )
- orRanges.Append(aRange);
+ orRanges.push_back(aRange);
}
}
@@ -445,7 +445,7 @@ void AddressConverter::convertToCellRangeList( ScRangeList& orRanges,
ScRange aRange;
for( ::std::vector< BinRange >::const_iterator aIt = rBinRanges.begin(), aEnd = rBinRanges.end(); aIt != aEnd; ++aIt )
if( convertToCellRange( aRange, *aIt, nSheet, true, bTrackOverflow ) )
- orRanges.Append( aRange );
+ orRanges.push_back( aRange );
}
Sequence<CellRangeAddress> AddressConverter::toApiSequence(const ScRangeList& orRanges)
@@ -455,7 +455,7 @@ Sequence<CellRangeAddress> AddressConverter::toApiSequence(const ScRangeList& or
CellRangeAddress* pApiRanges = aRangeSequence.getArray();
for (size_t i = 0; i < nSize; ++i)
{
- ScUnoConversion::FillApiRange(pApiRanges[i], *orRanges[i]);
+ ScUnoConversion::FillApiRange(pApiRanges[i], orRanges[i]);
}
return aRangeSequence;
}
diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx
index 175b4a43798e..22f2445aa33c 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -1117,7 +1117,7 @@ void CondFormatBuffer::finalizeImport()
ScDocument* pDoc = &getScDocument();
const ScRangeList& rRange = (*itr)->getRange();
- SCTAB nTab = rRange.front()->aStart.Tab();
+ SCTAB nTab = rRange.front().aStart.Tab();
ScConditionalFormat* pFormat = findFormatByRange(rRange, pDoc, nTab);
if (!pFormat)
{
diff --git a/sc/source/filter/oox/defnamesbuffer.cxx b/sc/source/filter/oox/defnamesbuffer.cxx
index 5b6adf58801b..84bba7249227 100644
--- a/sc/source/filter/oox/defnamesbuffer.cxx
+++ b/sc/source/filter/oox/defnamesbuffer.cxx
@@ -378,7 +378,7 @@ void DefinedName::convertFormula( const css::uno::Sequence<css::sheet::ExternalL
const ScAddress& rMaxPos = getAddressConverter().getMaxAddress();
for (size_t i = 0, nSize = aTitleRanges.size(); i < nSize; ++i)
{
- const ScRange& rRange = *aTitleRanges[i];
+ const ScRange& rRange = aTitleRanges[i];
bool bFullRow = (rRange.aStart.Col() == 0) && ( rRange.aEnd.Col() >= rMaxPos.Col() );
bool bFullCol = (rRange.aStart.Row() == 0) && ( rRange.aEnd.Row() >= rMaxPos.Row() );
if( !bHasRowTitles && bFullRow && !bFullCol )
diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx
index b5b39510ed76..52fc82a73650 100644
--- a/sc/source/filter/oox/extlstcontext.cxx
+++ b/sc/source/filter/oox/extlstcontext.cxx
@@ -163,8 +163,8 @@ void ExtConditionalFormattingContext::onEndElement()
SCTAB nTab = getSheetIndex();
for (size_t i = 0; i < aRange.size(); ++i)
{
- aRange[i]->aStart.SetTab(nTab);
- aRange[i]->aEnd.SetTab(nTab);
+ aRange[i].aStart.SetTab(nTab);
+ aRange[i].aEnd.SetTab(nTab);
}
std::vector< std::unique_ptr<ExtCfCondFormat> >& rExtFormats = getCondFormats().importExtCondFormat();
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index 2cb2ae9d0ddc..476f0deba2cd 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -1499,7 +1499,7 @@ TokenToRangeListState lclProcessRef( ScRangeList& orRanges, const Any& rData, sa
ScAddress aAddress;
// ignore invalid addresses (with #REF! errors), but do not stop parsing
if( lclConvertToCellAddress( aAddress, aSingleRef, nForbiddenFlags, nFilterBySheet ) )
- orRanges.Append( ScRange(aAddress, aAddress) );
+ orRanges.push_back( ScRange(aAddress, aAddress) );
return STATE_REF;
}
ComplexReference aComplexRef;
@@ -1508,7 +1508,7 @@ TokenToRangeListState lclProcessRef( ScRangeList& orRanges, const Any& rData, sa
ScRange aRange;
// ignore invalid ranges (with #REF! errors), but do not stop parsing
if( lclConvertToCellRange( aRange, aComplexRef, nForbiddenFlags, nFilterBySheet ) )
- orRanges.Append( aRange );
+ orRanges.push_back( aRange );
return STATE_REF;
}
return STATE_ERROR;
@@ -1610,7 +1610,7 @@ bool FormulaProcessorBase::extractCellRange( ScRange& orRange,
lclProcessRef( aRanges, extractReference( rTokens ), -1 );
if( !aRanges.empty() )
{
- orRange = *aRanges.front();
+ orRange = aRanges.front();
return true;
}
return false;
diff --git a/sc/source/filter/oox/scenariobuffer.cxx b/sc/source/filter/oox/scenariobuffer.cxx
index 33dd467472df..aaa00d9720d4 100644
--- a/sc/source/filter/oox/scenariobuffer.cxx
+++ b/sc/source/filter/oox/scenariobuffer.cxx
@@ -108,7 +108,7 @@ void Scenario::finalizeImport()
ScRangeList aRanges;
for( ScenarioCellVector::iterator aIt = maCells.begin(), aEnd = maCells.end(); aIt != aEnd; ++aIt )
if( !aIt->mbDeleted && rAddrConv.checkCellAddress( aIt->maPos, true ) )
- aRanges.Append( ScRange(aIt->maPos, aIt->maPos) );
+ aRanges.push_back( ScRange(aIt->maPos, aIt->maPos) );
if( !aRanges.empty() && !maModel.maName.isEmpty() ) try
{
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index d9d98b84532d..cf44072cd9e3 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -336,7 +336,7 @@ void addIfNotInMyMap( const StylesBuffer& rStyles, std::map< FormatKeyPair, ScRa
// 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.Append(*rRangeList[i]);
+ it->second.push_back(rRangeList[i]);
return;
}
}
@@ -423,7 +423,7 @@ void SheetDataBuffer::finalizeImport()
{
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( it->first.first, it->first.second, rRanges[i]);
}
for ( std::map< sal_Int32, std::vector< ValueRange > >::iterator it = maXfIdRowRangeList.begin(), it_end = maXfIdRowRangeList.end(); it != it_end; ++it )
@@ -660,7 +660,7 @@ void SheetDataBuffer::setCellFormat( const CellModel& rModel )
if( rModel.mnXfId >= 0 )
{
ScRangeList& rRangeList = maXfIdRangeLists[ XfIdNumFmtKey( rModel.mnXfId, -1 ) ];
- ScRange* pLastRange = rRangeList.empty() ? nullptr : rRangeList.back();
+ ScRange* pLastRange = rRangeList.empty() ? nullptr : &rRangeList.back();
/* The xlsx sheet data contains row wise information.
* It is sufficient to check if the row range size is one
*/
@@ -674,28 +674,28 @@ void SheetDataBuffer::setCellFormat( const CellModel& rModel )
}
else
{
- rRangeList.Append(ScRange(rModel.maCellAddr));
- pLastRange = rRangeList.back();
+ rRangeList.push_back(ScRange(rModel.maCellAddr));
+ pLastRange = &rRangeList.back();
}
if (rRangeList.size() > 1)
{
for (size_t i = rRangeList.size() - 1; i != 0; --i)
{
- ScRange* pMergeRange = rRangeList[i - 1];
- if (pLastRange->aStart.Tab() != pMergeRange->aStart.Tab())
+ ScRange& rMergeRange = rRangeList[i - 1];
+ if (pLastRange->aStart.Tab() != rMergeRange.aStart.Tab())
break;
/* Try to merge this with the previous range */
- if (pLastRange->aStart.Row() == (pMergeRange->aEnd.Row() + 1) &&
- pLastRange->aStart.Col() == pMergeRange->aStart.Col() &&
- pLastRange->aEnd.Col() == pMergeRange->aEnd.Col())
+ if (pLastRange->aStart.Row() == (rMergeRange.aEnd.Row() + 1) &&
+ pLastRange->aStart.Col() == rMergeRange.aStart.Col() &&
+ pLastRange->aEnd.Col() == rMergeRange.aEnd.Col())
{
- pMergeRange->aEnd.SetRow(pLastRange->aEnd.Row());
+ rMergeRange.aEnd.SetRow(pLastRange->aEnd.Row());
rRangeList.Remove(rRangeList.size() - 1);
break;
}
- else if (pLastRange->aStart.Row() > (pMergeRange->aEnd.Row() + 1))
+ else if (pLastRange->aStart.Row() > (rMergeRange.aEnd.Row() + 1))
break; // Un-necessary to check with any other rows
}
}
diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx
index 7d5c910ff39d..a4ecfd8860fe 100644
--- a/sc/source/filter/xcl97/xcl97rec.cxx
+++ b/sc/source/filter/xcl97/xcl97rec.cxx
@@ -1382,9 +1382,9 @@ ExcEScenario::ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab )
for( size_t nRange = 0; (nRange < pRList->size()) && bContLoop; nRange++ )
{
- const ScRange* pRange = (*pRList)[nRange];
- for( nRow = pRange->aStart.Row(); (nRow <= pRange->aEnd.Row()) && bContLoop; nRow++ )
- for( nCol = pRange->aStart.Col(); (nCol <= pRange->aEnd.Col()) && bContLoop; nCol++ )
+ const ScRange & rRange = (*pRList)[nRange];
+ for( nRow = rRange.aStart.Row(); (nRow <= rRange.aEnd.Row()) && bContLoop; nRow++ )
+ for( nCol = rRange.aStart.Col(); (nCol <= rRange.aEnd.Col()) && bContLoop; nCol++ )
{
if( rDoc.HasValueData( nCol, nRow, nTab ) )
{
diff --git a/sc/source/filter/xml/xmlcondformat.cxx b/sc/source/filter/xml/xmlcondformat.cxx
index 3db4904f99ca..6fdcdee9b5b8 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -264,7 +264,7 @@ void SAL_CALL ScXMLConditionalFormatContext::endFastElement( sal_Int32 /*nElemen
// conditions could be loosened, but I am too tired to think on that right now.)
if (pFormat->size() == 1 &&
pFormat->GetRange().size() == 1 &&
- pFormat->GetRange()[0]->aStart == aSrcPos &&
+ pFormat->GetRange()[0].aStart == aSrcPos &&
HasOneSingleFullyRelativeReference( pTokens, aOffsetForSingleRelRef ))
{
bSingleRelativeReference = true;
@@ -327,7 +327,7 @@ void SAL_CALL ScXMLConditionalFormatContext::endFastElement( sal_Int32 /*nElemen
// Mark cache entry as fresh, do necessary mangling of it and just return
aCacheEntry.mnAge = 0;
for (size_t k = 0; k < pFormat->GetRange().size(); ++k)
- aCacheEntry.mpFormat->GetRangeList().Join(*(pFormat->GetRange()[k]));
+ aCacheEntry.mpFormat->GetRangeList().Join(pFormat->GetRange()[k]);
return;
}
}
diff --git a/sc/source/filter/xml/xmlsceni.cxx b/sc/source/filter/xml/xmlsceni.cxx
index 5a934b0cb222..ed3c8b0dd49b 100644
--- a/sc/source/filter/xml/xmlsceni.cxx
+++ b/sc/source/filter/xml/xmlsceni.cxx
@@ -114,10 +114,9 @@ void SAL_CALL ScXMLTableScenarioContext::endFastElement( sal_Int32 /*nElement*/
pDoc->SetScenarioData( nCurrTable, sComment, aBorderColor, nFlags );
for( size_t i = 0; i < aScenarioRanges.size(); ++i )
{
- ScRange* pRange(aScenarioRanges[ i ]);
- if( pRange )
- pDoc->ApplyFlagsTab( pRange->aStart.Col(), pRange->aStart.Row(),
- pRange->aEnd.Col(), pRange->aEnd.Row(), nCurrTable, ScMF::Scenario );
+ ScRange const & rRange = aScenarioRanges[ i ];
+ pDoc->ApplyFlagsTab( rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row(), nCurrTable, ScMF::Scenario );
}
pDoc->SetActiveScenario( nCurrTable, bIsActive );
}
diff --git a/sc/source/filter/xml/xmlstyli.cxx b/sc/source/filter/xml/xmlstyli.cxx
index 0970b1a15be3..5087bf0591b9 100644
--- a/sc/source/filter/xml/xmlstyli.cxx
+++ b/sc/source/filter/xml/xmlstyli.cxx
@@ -511,8 +511,8 @@ void XMLTableStyleContext::ApplyCondFormat( const uno::Sequence<table::CellRange
size_t n = aRangeList.size();
for(size_t i = 0; i < n; ++i)
{
- const ScRange* pRange = aRangeList[i];
- rRangeList.Join(*pRange);
+ const ScRange & rRange = aRangeList[i];
+ rRangeList.Join(rRange);
}
pDoc->AddCondFormatData( aRangeList, nTab, nCondId );
diff --git a/sc/source/filter/xml/xmlsubti.cxx b/sc/source/filter/xml/xmlsubti.cxx
index a71d38ed263e..520d484c28a9 100644
--- a/sc/source/filter/xml/xmlsubti.cxx
+++ b/sc/source/filter/xml/xmlsubti.cxx
@@ -275,7 +275,7 @@ void ScMyTables::AddMatrixRange(
nEndColumn, nEndRow, maCurrentCellPos.Tab()
);
- maMatrixRangeList.Append(aScRange);
+ maMatrixRangeList.push_back(aScRange);
ScDocumentImport& rDoc = rImport.GetDoc();
ScTokenArray aCode;
diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx
index 6cfa897a78ba..82e8c9010aac 100644
--- a/sc/source/filter/xml/xmltabi.cxx
+++ b/sc/source/filter/xml/xmltabi.cxx
@@ -368,7 +368,7 @@ void SAL_CALL ScXMLTableContext::endFastElement(sal_Int32 /*nElement*/)
size_t nCount = aRangeList.size();
for (size_t i=0; i< nCount; i++ )
{
- pDoc->AddPrintRange( nCurTab, *aRangeList[i] );
+ pDoc->AddPrintRange( nCurTab, aRangeList[i] );
}
}
else if (!bPrintEntireSheet)
diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx
index e589d1dbfa24..3093137bb3a2 100644
--- a/sc/source/ui/Accessibility/AccessibleCell.cxx
+++ b/sc/source/ui/Accessibility/AccessibleCell.cxx
@@ -588,7 +588,7 @@ bool ScAccessibleCell::IsDropdown()
SCTAB nRangeCount = aRanges.size();
for (i=0; i<nRangeCount; i++)
{
- ScRange aRange = *aRanges[i];
+ ScRange aRange = aRanges[i];
mpDoc->ExtendTotalMerge( aRange );
bool bTextBelow = ( aRange.aStart.Row() == 0 );
// MT IA2: Not used: sal_Bool bIsInScen = sal_False;
diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
index 0111d548bc69..09b7f6153865 100644
--- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
+++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -54,16 +54,13 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa
{
if (pMarkedRanges->size() <= 1)
{
- ScRange* pRange = pMarkedRanges->front();
- if (pRange)
- {
- // MT IA2: Not used.
- // const int nRowNum = pRange->aEnd.Row() - pRange->aStart.Row() + 1;
- const int nColNum = pRange->aEnd.Col() - pRange->aStart.Col() + 1;
- const int nCurCol = nSelectedChildIndex % nColNum;
- const int nCurRow = (nSelectedChildIndex - nCurCol)/nColNum;
- return ScMyAddress(static_cast<SCCOL>(pRange->aStart.Col() + nCurCol), pRange->aStart.Row() + nCurRow, maActiveCell.Tab());
- }
+ ScRange const & rRange = pMarkedRanges->front();
+ // MT IA2: Not used.
+ // const int nRowNum = rRange.aEnd.Row() - rRange.aStart.Row() + 1;
+ const int nColNum = rRange.aEnd.Col() - rRange.aStart.Col() + 1;
+ const int nCurCol = nSelectedChildIndex % nColNum;
+ const int nCurRow = (nSelectedChildIndex - nCurCol)/nColNum;
+ return ScMyAddress(static_cast<SCCOL>(rRange.aStart.Col() + nCurCol), rRange.aStart.Row() + nCurRow, maActiveCell.Tab());
}
else
{
@@ -73,24 +70,24 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa
size_t nSize = pMarkedRanges->size();
for (size_t i = 0; i < nSize; ++i)
{
- ScRange* pRange = (*pMarkedRanges)[i];
- if (pRange->aStart.Tab() != pRange->aEnd.Tab())
+ ScRange const & rRange = (*pMarkedRanges)[i];
+ if (rRange.aStart.Tab() != rRange.aEnd.Tab())
{
- if ((maActiveCell.Tab() >= pRange->aStart.Tab()) ||
- maActiveCell.Tab() <= pRange->aEnd.Tab())
+ if ((maActiveCell.Tab() >= rRange.aStart.Tab()) ||
+ maActiveCell.Tab() <= rRange.aEnd.Tab())
{
- m_vecTempRange.push_back(pRange);
- nMinRow = std::min(pRange->aStart.Row(),nMinRow);
- nMaxRow = std::max(pRange->aEnd.Row(),nMaxRow);
+ m_vecTempRange.push_back(rRange);
+ nMinRow = std::min(rRange.aStart.Row(),nMinRow);
+ nMaxRow = std::max(rRange.aEnd.Row(),nMaxRow);
}
else
SAL_WARN("sc", "Range of wrong table");
}
- else if(pRange->aStart.Tab() == maActiveCell.Tab())
+ else if(rRange.aStart.Tab() == maActiveCell.Tab())
{
- m_vecTempRange.push_back(pRange);
- nMinRow = std::min(pRange->aStart.Row(),nMinRow);
- nMaxRow = std::max(pRange->aEnd.Row(),nMaxRow);
+ m_vecTempRange.push_back(rRange);
+ nMinRow = std::min(rRange.aStart.Row(),nMinRow);
+ nMaxRow = std::max(rRange.aEnd.Row(),nMaxRow);
}
else
SAL_WARN("sc", "Range of wrong table");
@@ -103,10 +100,10 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa
VEC_RANGE::const_iterator vi = m_vecTempRange.begin();
for (; vi < m_vecTempRange.end(); ++vi)
{
- ScRange *p = *vi;
- if ( row >= p->aStart.Row() && row <= p->aEnd.Row())
+ ScRange const & r = *vi;
+ if ( row >= r.aStart.Row() && row <= r.aEnd.Row())
{
- m_vecTempCol.emplace_back(p->aStart.Col(),p->aEnd.Col());
+ m_vecTempCol.emplace_back(r.aStart.Col(),r.aEnd.Col());
}
}
}
@@ -129,46 +126,46 @@ ScMyAddress ScAccessibleSpreadsheet::CalcScAddressFromRangeList(ScRangeList *pMa
return ScMyAddress(0,0,maActiveCell.Tab());
}
-bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange *pSrc, const ScRange *pDest, int nMax, VEC_MYADDR &vecRet, int &nSize)
+bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange & rSrc, const ScRange & rDest, int nMax, VEC_MYADDR &vecRet, int &nSize)
{
//Src Must be :Src > Dest
- if (pDest->In(*pSrc))
+ if (rDest.In(rSrc))
{//Here is Src In Dest,Src <= Dest
return false;
}
- if (!pDest->Intersects(*pSrc))
+ if (!rDest.Intersects(rSrc))
{
- int nCellCount = sal_uInt32(pDest->aEnd.Col() - pDest->aStart.Col() + 1)
- * sal_uInt32(pDest->aEnd.Row() - pDest->aStart.Row() + 1)
- * sal_uInt32(pDest->aEnd.Tab() - pDest->aStart.Tab() + 1);
+ int nCellCount = sal_uInt32(rDest.aEnd.Col() - rDest.aStart.Col() + 1)
+ * sal_uInt32(rDest.aEnd.Row() - rDest.aStart.Row() + 1)
+ * sal_uInt32(rDest.aEnd.Tab() - rDest.aStart.Tab() + 1);
if (nCellCount + nSize > nMax)
{
return true;
}
else if(nCellCount > 0)
{
- for (sal_Int32 row = pDest->aStart.Row(); row <= pDest->aEnd.Row();++row)
+ for (sal_Int32 row = rDest.aStart.Row(); row <= rDest.aEnd.Row();++row)
{
- for (sal_uInt16 col = pDest->aStart.Col(); col <= pDest->aEnd.Col();++col)
+ for (sal_uInt16 col = rDest.aStart.Col(); col <= rDest.aEnd.Col();++col)
{
- vecRet.emplace_back(col,row,pDest->aStart.Tab());
+ vecRet.emplace_back(col,row,rDest.aStart.Tab());
}
}
}
return false;
}
- sal_Int32 nMinRow = pSrc->aStart.Row();
- sal_Int32 nMaxRow = pSrc->aEnd.Row();
+ sal_Int32 nMinRow = rSrc.aStart.Row();
+ sal_Int32 nMaxRow = rSrc.aEnd.Row();
for (; nMinRow <= nMaxRow ; ++nMinRow,--nMaxRow)
{
- for (sal_uInt16 col = pSrc->aStart.Col(); col <= pSrc->aEnd.Col();++col)
+ for (sal_uInt16 col = rSrc.aStart.Col(); col <= rSrc.aEnd.Col();++col)
{
if (nSize > nMax)
{
return true;
}
- ScMyAddress cell(col,nMinRow,pSrc->aStart.Tab());
- if(!pDest->In(cell))
+ ScMyAddress cell(col,nMinRow,rSrc.aStart.Tab());
+ if(!rDest.In(cell))
{//In Src ,Not In Dest
vecRet.push_back(cell);
++nSize;
@@ -176,14 +173,14 @@ bool ScAccessibleSpreadsheet::CalcScRangeDifferenceMax(const ScRange *pSrc, cons
}
if (nMinRow != nMaxRow)
{
- for (sal_uInt16 col = pSrc->aStart.Col(); col <= pSrc->aEnd.Col();++col)
+ for (sal_uInt16 col = rSrc.aStart.Col(); col <= rSrc.aEnd.Col();++col)
{
if (nSize > nMax)
{
return true;
}
- ScMyAddress cell(col,nMaxRow,pSrc->aStart.Tab());
- if(!pDest->In(cell))
+ ScMyAddress cell(col,nMaxRow,rSrc.aStart.Tab());
+ if(!rDest.In(cell))
{//In Src ,Not In Dest
vecRet.push_back(cell);
++nSize;
@@ -213,12 +210,12 @@ bool ScAccessibleSpreadsheet::CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScR
size_t nSrcSize = pSrc->size();
for (size_t i = 0; i < nSrcSize; ++i)
{
- ScRange* pRange = (*pSrc)[i];
- for (sal_Int32 row = pRange->aStart.Row(); row <= pRange->aEnd.Row();++row)
+ ScRange const & rRange = (*pSrc)[i];
+ for (sal_Int32 row = rRange.aStart.Row(); row <= rRange.aEnd.Row();++row)
{
- for (sal_uInt16 col = pRange->aStart.Col(); col <= pRange->aEnd.Col();++col)
+ for (sal_uInt16 col = rRange.aStart.Col(); col <= rRange.aEnd.Col();++col)
{
- vecRet.emplace_back(col,row,pRange->aStart.Tab());
+ vecRet.emplace_back(col,row, rRange.aStart.Tab());
}
}
}
@@ -229,12 +226,12 @@ bool ScAccessibleSpreadsheet::CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScR
size_t nSizeSrc = pSrc->size();
for (size_t i = 0; i < nSizeSrc; ++i)
{
- ScRange* pRange = (*pSrc)[i];
+ ScRange const & rRange = (*pSrc)[i];
size_t nSizeDest = pDest->size();
for (size_t j = 0; j < nSizeDest; ++j)
{
- ScRange* pRangeDest = (*pDest)[j];
- if (CalcScRangeDifferenceMax(pRange,pRangeDest,nMax,vecRet,nSize))
+ ScRange const & rRangeDest = (*pDest)[j];
+ if (CalcScRangeDifferenceMax(rRange,rRangeDest,nMax,vecRet,nSize))
{
return true;
}
diff --git a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
index 7cb152023474..f6613f63d2e2 100644
--- a/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx
@@ -66,7 +66,7 @@ OUString lclCreateMultiParameterFormula(
OUString aResult;
for (size_t i = 0; i < aRangeList.size(); i++)
{
- OUString aRangeString(aRangeList[i]->Format(ScRefFlags::RANGE_ABS, pDocument, aAddressDetails));
+ OUString aRangeString(aRangeList[i].Format(ScRefFlags::RANGE_ABS, pDocument, aAddressDetails));
OUString aFormulaString = aFormulaTemplate.replaceAll(aWildcard, aRangeString);
aResult += aFormulaString;
if(i != aRangeList.size() - 1) // Not Last
@@ -86,7 +86,7 @@ void lclMakeSubRangesList(ScRangeList& rRangeList, const ScRange& rInputRange, S
for( ; pIterator->hasNext(); pIterator->next() )
{
ScRange aRange = pIterator->get();
- rRangeList.Append(aRange);
+ rRangeList.push_back(aRange);
}
}
@@ -170,9 +170,9 @@ void ScAnalysisOfVarianceDialog::RowColumn(ScRangeList& rRangeList, AddressWalke
{
for (size_t i = 0; i < rRangeList.size(); i++)
{
- ScRange* pRange = rRangeList[i];
+ ScRange const & rRange = rRangeList[i];
aTemplate.setTemplate(sFormula);
- aTemplate.applyRange(strWildcardRange, *pRange);
+ aTemplate.applyRange(strWildcardRange, rRange);
aOutput.writeFormula(aTemplate.getTemplate());
if (pResultRange != nullptr)
pResultRange->aEnd = aOutput.current();
@@ -249,7 +249,7 @@ void ScAnalysisOfVarianceDialog::AnovaSingleFactor(AddressWalkerWriter& output,
}
output.nextRow();
- aTemplate.autoReplaceRange("%FIRST_COLUMN%", *aRangeList[0]);
+ aTemplate.autoReplaceRange("%FIRST_COLUMN%", aRangeList[0]);
// Between Groups
{
@@ -416,8 +416,8 @@ void ScAnalysisOfVarianceDialog::AnovaTwoFactor(AddressWalkerWriter& output, For
// Setup auto-replace strings
aTemplate.autoReplaceRange(strWildcardRange, mInputRange);
- aTemplate.autoReplaceRange("%FIRST_COLUMN%", *aColumnRangeList[0]);
- aTemplate.autoReplaceRange("%FIRST_ROW%", *aRowRangeList[0]);
+ aTemplate.autoReplaceRange("%FIRST_COLUMN%", aColumnRangeList[0]);
+ aTemplate.autoReplaceRange("%FIRST_ROW%", aRowRangeList[0]);
// Rows
{
diff --git a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
index 63422289e905..98d022ca7880 100644
--- a/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
+++ b/sc/source/ui/StatisticsDialogs/MatrixComparisonGenerator.cxx
@@ -38,8 +38,8 @@ namespace
if (j >= i)
{
aTemplate.setTemplate(aTemplateString);
- aTemplate.applyRange("%VAR1%", *aRangeList[i]);
- aTemplate.applyRange("%VAR2%", *aRangeList[j]);
+ aTemplate.applyRange("%VAR1%", aRangeList[i]);
+ aTemplate.applyRange("%VAR2%", aRangeList[j]);
aOutput.writeFormula(aTemplate.getTemplate());
}
aOutput.nextRow();
diff --git a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
index 7c4ca722568e..b654beae5c29 100644
--- a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
@@ -361,7 +361,7 @@ IMPL_LINK_NOARG(ScRandomNumberGeneratorDialog, InputRangeModified, Edit&, void)
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mpDoc);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
maInputRange = *pRange;
diff --git a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
index 106fa504e233..42887148cf8d 100644
--- a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
@@ -344,7 +344,7 @@ IMPL_LINK_NOARG(ScSamplingDialog, RefInputModifyHandler, Edit&, void)
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mInputRange = *pRange;
@@ -360,7 +360,7 @@ IMPL_LINK_NOARG(ScSamplingDialog, RefInputModifyHandler, Edit&, void)
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mOutputAddress = pRange->aStart;
diff --git a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
index 6b17b50f86cd..50645199cd07 100644
--- a/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx
@@ -33,7 +33,7 @@ ScRangeList ScStatisticsInputOutputDialog::MakeColumnRangeList(SCTAB aTab, ScAdd
ScAddress(inCol, aStart.Row(), aTab),
ScAddress(inCol, aEnd.Row(), aTab) );
- aRangeList.Append(aColumnRange);
+ aRangeList.push_back(aColumnRange);
}
return aRangeList;
}
@@ -47,7 +47,7 @@ ScRangeList ScStatisticsInputOutputDialog::MakeRowRangeList(SCTAB aTab, ScAddres
ScAddress(aStart.Col(), inRow, aTab),
ScAddress(aEnd.Col(), inRow, aTab) );
- aRangeList.Append(aRowRange);
+ aRangeList.push_back(aRowRange);
}
return aRangeList;
}
@@ -233,7 +233,7 @@ IMPL_LINK_NOARG( ScStatisticsInputOutputDialog, RefInputModifyHandler, Edit&, vo
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpInputRangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mInputRange = *pRange;
@@ -249,7 +249,7 @@ IMPL_LINK_NOARG( ScStatisticsInputOutputDialog, RefInputModifyHandler, Edit&, vo
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mOutputAddress = pRange->aStart;
diff --git a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
index 163044c68d90..0fa8c96f0333 100644
--- a/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx
@@ -256,7 +256,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpVariable1RangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mVariable1Range = *pRange;
@@ -272,7 +272,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpVariable2RangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mVariable2Range = *pRange;
@@ -288,7 +288,7 @@ IMPL_LINK_NOARG( ScStatisticsTwoVariableDialog, RefInputModifyHandler, Edit&, vo
{
ScRangeList aRangeList;
bool bValid = ParseWithNames( aRangeList, mpOutputRangeEdit->GetText(), mDocument);
- const ScRange* pRange = (bValid && aRangeList.size() == 1) ? aRangeList[0] : nullptr;
+ const ScRange* pRange = (bValid && aRangeList.size() == 1) ? &aRangeList[0] : nullptr;
if (pRange)
{
mOutputAddress = pRange->aStart;
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index b162591cc129..fa5676961b29 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -542,8 +542,7 @@ ScCondFormatDlg::ScCondFormatDlg(SfxBindings* pB, SfxChildWindow* pCW,
if(aRange.empty())
{
ScAddress aPos(mpViewData->GetCurX(), mpViewData->GetCurY(), mpViewData->GetTabNo());
- ScRange* pRange = new ScRange(aPos);
- aRange.push_back(pRange);
+ aRange.push_back(ScRange(aPos));
}
mnKey = 0;
}
diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index f72bb7423388..374ce58407d4 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -107,17 +107,17 @@ void SearchResultsDlg::FillResults( ScDocument* pDoc, const ScRangeList &rMatche
/* TODO: a CellNotes iterator would come handy and might speed
* things up a little, though we only loop through the
* search/replace result positions here. */
- ScRange aRange( *rMatchedRanges[i] );
+ ScRange const & rRange( rMatchedRanges[i] );
// Bear in mind that mostly the range is one address position
// or a column or a row joined.
- ScAddress aPos( aRange.aStart );
- for ( ; aPos.Tab() <= aRange.aEnd.Tab(); aPos.IncTab())
+ ScAddress aPos( rRange.aStart );
+ for ( ; aPos.Tab() <= rRange.aEnd.Tab(); aPos.IncTab())
{
if (aPos.Tab() >= nTabCount)
break; // can this even happen? we just searched on existing sheets ...
- for (aPos.SetCol( aRange.aStart.Col()); aPos.Col() <= aRange.aEnd.Col(); aPos.IncCol())
+ for (aPos.SetCol( rRange.aStart.Col()); aPos.Col() <= rRange.aEnd.Col(); aPos.IncCol())
{
- for (aPos.SetRow( aRange.aStart.Row()); aPos.Row() <= aRange.aEnd.Row(); aPos.IncRow())
+ for (aPos.SetRow( rRange.aStart.Row()); aPos.Row() <= rRange.aEnd.Row(); aPos.IncRow())
{
const ScPostIt* pNote = pDoc->GetNote( aPos);
if (pNote)
@@ -133,7 +133,7 @@ void SearchResultsDlg::FillResults( ScDocument* pDoc, const ScRangeList &rMatche
{
for (size_t i = 0, n = nMatchMax; i < n; ++i)
{
- ScCellIterator aIter(pDoc, *rMatchedRanges[i]);
+ ScCellIterator aIter(pDoc, rMatchedRanges[i]);
for (bool bHas = aIter.first(); bHas; bHas = aIter.next())
{
ScAddress aPos = aIter.GetPos();
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index e9ce36f11ac9..3e719dfb68f9 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -281,7 +281,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
SCROW nEndRow = 0;
if (rSrcDoc.GetCellArea( 0, nEndCol, nEndRow))
{
- aSourceRanges.Append( ScRange( 0,0,0, nEndCol, nEndRow, 0));
+ aSourceRanges.push_back( ScRange( 0,0,0, nEndCol, nEndRow, 0));
nWidth = nEndCol + 1;
nHeight = nEndRow + 2;
}
@@ -295,7 +295,7 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
ScRange aTokenRange;
if( FindExtRange( aTokenRange, &rSrcDoc, aToken ) )
{
- aSourceRanges.Append( aTokenRange);
+ aSourceRanges.push_back( aTokenRange);
// columns: find maximum
nWidth = std::max( nWidth, static_cast<SCCOL>(aTokenRange.aEnd.Col() - aTokenRange.aStart.Col() + 1) );
// rows: add row range + 1 empty row
@@ -373,13 +373,13 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
ScRange aNewTokenRange( aNewRange.aStart );
for (size_t nRange = 0; nRange < aSourceRanges.size(); ++nRange)
{
- ScRange aTokenRange( *aSourceRanges[nRange]);
- SCTAB nSrcTab = aTokenRange.aStart.Tab();
+ ScRange const & rTokenRange( aSourceRanges[nRange]);
+ SCTAB nSrcTab = rTokenRange.aStart.Tab();
ScMarkData aSourceMark;
aSourceMark.SelectOneTable( nSrcTab ); // selecting for CopyToClip
- aSourceMark.SetMarkArea( aTokenRange );
+ aSourceMark.SetMarkArea( rTokenRange );
- ScClipParam aClipParam(aTokenRange, false);
+ ScClipParam aClipParam(rTokenRange, false);
rSrcDoc.CopyToClip(aClipParam, &aClipDoc, &aSourceMark, false, false);
if ( aClipDoc.HasAttrib( 0,0,nSrcTab, MAXCOL,MAXROW,nSrcTab,
@@ -393,8 +393,8 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
aClipDoc.ApplyPatternAreaTab( 0,0, MAXCOL,MAXROW, nSrcTab, aPattern );
}
- aNewTokenRange.aEnd.SetCol( aNewTokenRange.aStart.Col() + (aTokenRange.aEnd.Col() - aTokenRange.aStart.Col()) );
- aNewTokenRange.aEnd.SetRow( aNewTokenRange.aStart.Row() + (aTokenRange.aEnd.Row() - aTokenRange.aStart.Row()) );
+ aNewTokenRange.aEnd.SetCol( aNewTokenRange.aStart.Col() + (rTokenRange.aEnd.Col() - rTokenRange.aStart.Col()) );
+ aNewTokenRange.aEnd.SetRow( aNewTokenRange.aStart.Row() + (rTokenRange.aEnd.Row() - rTokenRange.aStart.Row()) );
ScMarkData aDestMark;
aDestMark.SelectOneTable( nDestTab );
aDestMark.SetMarkArea( aNewTokenRange );
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index c81d66554003..7e21ade37edd 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -1161,8 +1161,8 @@ bool isEditable(ScDocShell& rDocShell, const ScRangeList& rRanges, bool bApi)
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange* p = rRanges[i];
- ScEditableTester aTester(&rDoc, *p);
+ const ScRange & r = rRanges[i];
+ ScEditableTester aTester(&rDoc, r);
if (!aTester.IsEditable())
{
if (!bApi)
@@ -1254,8 +1254,8 @@ bool ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewOb
WaitObject aWait( ScDocShell::GetActiveDialogParent() );
ScRangeList aRanges;
- aRanges.Append(pOldObj->GetOutRange());
- aRanges.Append(pNewObj->GetOutRange().aStart); // at least one cell in the output position must be editable.
+ aRanges.push_back(pOldObj->GetOutRange());
+ aRanges.push_back(pNewObj->GetOutRange().aStart); // at least one cell in the output position must be editable.
if (!isEditable(rDocShell, aRanges, bApi))
return false;
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index e8705d760aa0..6b0ee190fdd5 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -528,21 +528,20 @@ static void lcl_collectAllPredOrSuccRanges(
ScRangeList aSrcRanges(rSrcRanges);
if (aSrcRanges.empty())
return;
- ScRange* p = aSrcRanges.front();
- ScDetectiveFunc aDetFunc(&rDoc, p->aStart.Tab());
- ScRangeList aDestRanges;
+ ScRange const & rFrontRange = aSrcRanges.front();
+ ScDetectiveFunc aDetFunc(&rDoc, rFrontRange.aStart.Tab());
for (size_t i = 0, n = aSrcRanges.size(); i < n; ++i)
{
- p = aSrcRanges[i];
+ ScRange const & r = aSrcRanges[i];
if (bPred)
{
aDetFunc.GetAllPreds(
- p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), aRefTokens);
+ r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), aRefTokens);
}
else
{
aDetFunc.GetAllSuccs(
- p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), aRefTokens);
+ r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), aRefTokens);
}
}
rRefTokens.swap(aRefTokens);
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 582f39aad829..8adcbfb0006c 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -104,7 +104,7 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, PaintPartFlags nPart, sa
ScRangeList aPaintRanges;
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
- const ScRange& rRange = *rRanges[i];
+ const ScRange& rRange = rRanges[i];
SCCOL nCol1 = rRange.aStart.Col(), nCol2 = rRange.aEnd.Col();
SCROW nRow1 = rRange.aStart.Row(), nRow2 = rRange.aEnd.Row();
SCTAB nTab1 = rRange.aStart.Tab(), nTab2 = rRange.aEnd.Tab();
@@ -159,7 +159,7 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, PaintPartFlags nPart, sa
nCol2 = MAXCOL;
}
}
- aPaintRanges.Append(ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2));
+ aPaintRanges.push_back(ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2));
}
Broadcast(ScPaintHint(aPaintRanges.Combine(), nPart));
@@ -255,9 +255,9 @@ void ScDocShell::UnlockPaint_Impl(bool bDoc)
for ( size_t i = 0, nCount = xRangeList->size(); i < nCount; i++ )
{
//! nExtFlags ???
- ScRange aRange = *(*xRangeList)[i];
- PostPaint( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab(),
- aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab(),
+ ScRange const & rRange = (*xRangeList)[i];
+ PostPaint( rRange.aStart.Col(), rRange.aStart.Row(), rRange.aStart.Tab(),
+ rRange.aEnd.Col(), rRange.aEnd.Row(), rRange.aEnd.Tab(),
nParts );
}
}
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index d0d95a28277f..81f321dd5c51 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -331,7 +331,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
if ( !aRangeListRef->empty() )
{
bMultiRange = true;
- aSingleRange = *aRangeListRef->front(); // for header
+ aSingleRange = aRangeListRef->front(); // for header
bValid = true;
}
else
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index 8b1730af3a0d..acd05f0ec21b 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -865,7 +865,7 @@ sal_uLong ScDocShell::TransferTab( ScDocShell& rSrcDocShell, SCTAB nSrcPos,
// set the transferred area to the copyparam to make adjusting formulas possible
ScClipParam aParam;
ScRange aRange(0, 0, nSrcPos, MAXCOL, MAXROW, nSrcPos);
- aParam.maRanges.Append(aRange);
+ aParam.maRanges.push_back(aRange);
rSrcDoc.SetClipParam(aParam);
sal_uLong nErrVal = aDocument.TransferTab( &rSrcDoc, nSrcPos, nDestPos,
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index 9676d89b318d..4ca3df975a36 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -435,10 +435,7 @@ void ScExternalRefCache::Table::setCachedCell(SCCOL nCol, SCROW nRow)
void ScExternalRefCache::Table::setCachedCellRange(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
{
ScRange aRange(nCol1, nRow1, 0, nCol2, nRow2, 0);
- if ( maCachedRanges.empty() )
- maCachedRanges.Append(aRange);
- else
- maCachedRanges.Join(aRange);
+ maCachedRanges.Join(aRange);
}
void ScExternalRefCache::Table::setWholeTableCached()
diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx
index f8dd7e3390ef..224e88a7f3a3 100644
--- a/sc/source/ui/docshell/tablink.cxx
+++ b/sc/source/ui/docshell/tablink.cxx
@@ -322,11 +322,11 @@ bool ScTableLink::Refresh(const OUString& rNewFile, const OUString& rNewFilter,
for (size_t nPos=0; nPos < nRanges; nPos++)
{
- const ScRange* pRange = aErrorCells[ nPos ];
- SCCOL nStartCol = pRange->aStart.Col();
- SCROW nStartRow = pRange->aStart.Row();
- SCCOL nEndCol = pRange->aEnd.Col();
- SCROW nEndRow = pRange->aEnd.Row();
+ const ScRange & rRange = aErrorCells[ nPos ];
+ SCCOL nStartCol = rRange.aStart.Col();
+ SCROW nStartRow = rRange.aStart.Row();
+ SCCOL nEndCol = rRange.aEnd.Col();
+ SCROW nEndRow = rRange.aEnd.Row();
for (SCROW nRow=nStartRow; nRow<=nEndRow; nRow++)
for (SCCOL nCol=nStartCol; nCol<=nEndCol; nCol++)
{
diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx
index a041c7b8f98e..b494a11952d7 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -462,10 +462,10 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, vcl::Window* pWin, ScDrawV
// get "total" range for positioning
if ( !aRanges.empty() )
{
- aPositionRange = *aRanges[ 0 ];
+ aPositionRange = aRanges[ 0 ];
for ( size_t i = 1, nCount = aRanges.size(); i < nCount; ++i )
{
- aPositionRange.ExtendTo( *aRanges[ i ] );
+ aPositionRange.ExtendTo( aRanges[ i ] );
}
}
diff --git a/sc/source/ui/inc/AccessibleSpreadsheet.hxx b/sc/source/ui/inc/AccessibleSpreadsheet.hxx
index baf47f016aee..ade94b07a24b 100644
--- a/sc/source/ui/inc/AccessibleSpreadsheet.hxx
+++ b/sc/source/ui/inc/AccessibleSpreadsheet.hxx
@@ -269,7 +269,7 @@ public:
ScRange m_aLastWithInMarkRange;
OUString m_strCurCellValue;
ScRangeList m_LastMarkedRanges;
- typedef std::vector<ScRange*> VEC_RANGE;
+ typedef std::vector<ScRange> VEC_RANGE;
VEC_RANGE m_vecTempRange;
typedef std::pair<sal_uInt16,sal_uInt16> PAIR_COL;
typedef std::vector<PAIR_COL> VEC_COL;
@@ -280,7 +280,7 @@ public:
bool IsScAddrFormulaSel (const ScAddress &addr) const;
bool IsFormulaMode();
ScMyAddress CalcScAddressFromRangeList(ScRangeList *pMarkedRanges,sal_Int32 nSelectedChildIndex);
- static bool CalcScRangeDifferenceMax(const ScRange *pSrc, const ScRange *pDest,int nMax,VEC_MYADDR &vecRet,int &nSize);
+ static bool CalcScRangeDifferenceMax(const ScRange & rSrc, const ScRange & rDest,int nMax,VEC_MYADDR &vecRet,int &nSize);
static bool CalcScRangeListDifferenceMax(ScRangeList *pSrc,ScRangeList *pDest,int nMax,VEC_MYADDR &vecRet);
};
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 50bcf63dd37f..197ca4684c4e 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -475,8 +475,7 @@ namespace HelperNotifyChanges
{
if (ScModelObj* pModelObj = getMustPropagateChangesModel(rDocShell))
{
- ScRangeList aChangeRanges;
- aChangeRanges.Append(rRange);
+ ScRangeList aChangeRanges(rRange);
Notify(*pModelObj, aChangeRanges, rType);
}
}
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index 6a6f6f3e2684..210392eaf8be 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -244,8 +244,8 @@ void ScAcceptChgDlg::Init()
if( !aChangeViewSet.GetTheRangeList().empty() )
{
- const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front();
- OUString aRefStr(pRangeEntry->Format(ScRefFlags::RANGE_ABS_3D, pDoc));
+ const ScRange & rRangeEntry = aChangeViewSet.GetTheRangeList().front();
+ OUString aRefStr(rRangeEntry.Format(ScRefFlags::RANGE_ABS_3D, pDoc));
pTPFilter->SetRange(aRefStr);
}
@@ -338,8 +338,8 @@ bool ScAcceptChgDlg::IsValidAction(const ScChangeAction* pScChangeAction)
{
for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ScRange* pRangeEntry = aRangeList[ i ];
- if (pRangeEntry->Intersects(aRef)) {
+ ScRange const & rRangeEntry = aRangeList[ i ];
+ if (rRangeEntry.Intersects(aRef)) {
bFlag = true;
break;
}
@@ -457,8 +457,8 @@ SvTreeListEntry* ScAcceptChgDlg::AppendChangeAction(
{
for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ScRange* pRangeEntry = aRangeList[ i ];
- if( pRangeEntry->Intersects(aRef) )
+ ScRange const & rRangeEntry = aRangeList[ i ];
+ if( rRangeEntry.Intersects(aRef) )
{
bHasFilterEntry=true;
bFlag=true;
@@ -527,8 +527,8 @@ SvTreeListEntry* ScAcceptChgDlg::AppendFilteredAction(
{
for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ScRange* pRangeEntry=aRangeList[ i ];
- if( pRangeEntry->Intersects(aRef) )
+ ScRange const & rRangeEntry=aRangeList[ i ];
+ if( rRangeEntry.Intersects(aRef) )
{
if( pScChangeAction->GetState()==eState )
bFlag = true;
@@ -647,8 +647,8 @@ SvTreeListEntry* ScAcceptChgDlg::InsertChangeActionContent(const ScChangeActionC
{
for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ScRange* pRangeEntry = aRangeList[ i ];
- if( pRangeEntry->Intersects(aRef) )
+ ScRange const & rRangeEntry = aRangeList[ i ];
+ if( rRangeEntry.Intersects(aRef) )
{
bFlag=true;
break;
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 8a9c71ee6eb6..e4e51f964091 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -144,9 +144,9 @@ void ScFormulaReferenceHelper::ShowSimpleReference(const OUString& rStr)
{
for ( size_t i = 0, nRanges = aRangeList.size(); i < nRanges; ++i )
{
- ScRange* pRangeEntry = aRangeList[ i ];
+ ScRange const & rRangeEntry = aRangeList[ i ];
Color aColName = ScRangeFindList::GetColorName( i );
- pTabViewShell->AddHighlightRange( *pRangeEntry, aColName );
+ pTabViewShell->AddHighlightRange( rRangeEntry, aColName );
}
}
}
@@ -173,10 +173,10 @@ bool ScFormulaReferenceHelper::ParseWithNames( ScRangeList& rRanges, const OUStr
aRange.aStart.SetTab( nRefTab );
if ( (nFlags & ScRefFlags::TAB2_3D) == ScRefFlags::ZERO )
aRange.aEnd.SetTab( aRange.aStart.Tab() );
- rRanges.Append( aRange );
+ rRanges.push_back( aRange );
}
else if ( ScRangeUtil::MakeRangeFromName( aRangeStr, pDoc, nRefTab, aRange, RUTL_NAMES, aDetails ) )
- rRanges.Append( aRange );
+ rRanges.push_back( aRange );
else
bError = true;
}
@@ -304,13 +304,13 @@ void ScFormulaReferenceHelper::ReleaseFocus( formula::RefEdit* pEdit )
{
if ( !aRangeList.empty() )
{
- const ScRange* pRange = aRangeList.front();
- pViewShell->SetTabNo( pRange->aStart.Tab() );
- pViewShell->MoveCursorAbs( pRange->aStart.Col(),
- pRange->aStart.Row(), SC_FOLLOW_JUMP, false, false );
- pViewShell->MoveCursorAbs( pRange->aEnd.Col(),
- pRange->aEnd.Row(), SC_FOLLOW_JUMP, true, false );
- m_pDlg->SetReference( *pRange, pDoc );
+ const ScRange & rRange = aRangeList.front();
+ pViewShell->SetTabNo( rRange.aStart.Tab() );
+ pViewShell->MoveCursorAbs( rRange.aStart.Col(),
+ rRange.aStart.Row(), SC_FOLLOW_JUMP, false, false );
+ pViewShell->MoveCursorAbs( rRange.aEnd.Col(),
+ rRange.aEnd.Row(), SC_FOLLOW_JUMP, true, false );
+ m_pDlg->SetReference( rRange, pDoc );
}
}
}
diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx
index 9601a7c68195..627fb68af76b 100644
--- a/sc/source/ui/miscdlgs/highred.cxx
+++ b/sc/source/ui/miscdlgs/highred.cxx
@@ -123,8 +123,8 @@ void ScHighlightChgDlg::Init()
if ( !aChangeViewSet.GetTheRangeList().empty() )
{
- const ScRange* pRangeEntry = aChangeViewSet.GetTheRangeList().front();
- OUString aRefStr(pRangeEntry->Format(ScRefFlags::RANGE_ABS_3D, pDoc));
+ const ScRange & rRangeEntry = aChangeViewSet.GetTheRangeList().front();
+ OUString aRefStr(rRangeEntry.Format(ScRefFlags::RANGE_ABS_3D, pDoc));
m_pFilterCtr->SetRange(aRefStr);
}
m_pFilterCtr->Enable();
diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx
index 73141f48b822..6ffb40cd8453 100644
--- a/sc/source/ui/miscdlgs/optsolver.cxx
+++ b/sc/source/ui/miscdlgs/optsolver.cxx
@@ -868,7 +868,7 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal
for ( size_t nRangePos=0, nRange = aVarRanges.size(); nRangePos < nRange; ++nRangePos )
{
- ScRange aRange(*aVarRanges[ nRangePos ] );
+ ScRange aRange( aVarRanges[ nRangePos ] );
aRange.PutInOrder();
SCTAB nTab = aRange.aStart.Tab();
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
index 6198c87c7c7a..d88d29d71b53 100644
--- a/sc/source/ui/undo/undobase.cxx
+++ b/sc/source/ui/undo/undobase.cxx
@@ -388,7 +388,7 @@ void ScMultiBlockUndo::ShowBlock()
return;
// Move to the sheet of the first range.
- ScRange aRange = *maBlockRanges.front();
+ ScRange aRange = maBlockRanges.front();
ShowTable(aRange);
pViewShell->MoveCursorAbs(
aRange.aStart.Col(), aRange.aStart.Row(), SC_FOLLOW_JUMP, false, false);
@@ -399,7 +399,7 @@ void ScMultiBlockUndo::ShowBlock()
for (size_t i = 1, n = maBlockRanges.size(); i < n; ++i)
{
- aRange = *maBlockRanges[i];
+ aRange = maBlockRanges[i];
aRange.aStart.SetTab(nTab);
aRange.aEnd.SetTab(nTab);
pViewShell->MarkRange(aRange, false, true);
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index a59b5d5c4177..6d96cdaeccaf 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -919,7 +919,7 @@ void ScUndoPaste::SetChangeTrack()
{
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
{
- pChangeTrack->AppendContentRange(*maBlockRanges[i], pUndoDoc,
+ pChangeTrack->AppendContentRange(maBlockRanges[i], pUndoDoc,
nStartChangeAction, nEndChangeAction, SC_CACM_PASTE );
}
}
@@ -963,7 +963,7 @@ void ScUndoPaste::DoChange(bool bUndo)
bool bRowInfo = true;
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
{
- const ScRange& r = *maBlockRanges[i];
+ const ScRange& r = maBlockRanges[i];
bColInfo &= (r.aStart.Row() == 0 && r.aEnd.Row() == MAXROW);
bRowInfo &= (r.aStart.Col() == 0 && r.aEnd.Col() == MAXCOL);
if (!bColInfo && !bRowInfo)
@@ -977,7 +977,7 @@ void ScUndoPaste::DoChange(bool bUndo)
// all sheets - CopyToDocument skips those that don't exist in pRedoDoc
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
{
- ScRange aCopyRange = *maBlockRanges[i];
+ ScRange aCopyRange = maBlockRanges[i];
aCopyRange.aStart.SetTab(0);
aCopyRange.aEnd.SetTab(nTabCount-1);
rDoc.CopyToDocument(aCopyRange, nUndoFlags, false, *pRedoDoc);
@@ -992,7 +992,7 @@ void ScUndoPaste::DoChange(bool bUndo)
aMarkData.MarkToMulti();
rDoc.DeleteSelection(nUndoFlags, aMarkData, false); // no broadcasting here
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
- rDoc.BroadcastCells(*maBlockRanges[i], SfxHintId::ScDataChanged);
+ rDoc.BroadcastCells(maBlockRanges[i], SfxHintId::ScDataChanged);
aMarkData.MarkToSimple();
@@ -1002,7 +1002,7 @@ void ScUndoPaste::DoChange(bool bUndo)
{
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
{
- ScRange aRange = *maBlockRanges[i];
+ ScRange aRange = maBlockRanges[i];
aRange.aStart.SetTab(nFirstSelected);
aRange.aEnd.SetTab(nFirstSelected);
pRedoDoc->UndoToDocument(aRange, nUndoFlags, false, rDoc);
@@ -1023,7 +1023,7 @@ void ScUndoPaste::DoChange(bool bUndo)
{
pWorkRefData->DoUndo( &rDoc, true ); // true = bSetChartRangeLists for SetChartListenerCollection
if (!maBlockRanges.empty() &&
- rDoc.RefreshAutoFilter(0, 0, MAXCOL, MAXROW, maBlockRanges[0]->aStart.Tab()))
+ rDoc.RefreshAutoFilter(0, 0, MAXCOL, MAXROW, maBlockRanges[0].aStart.Tab()))
bPaintAll = true;
}
@@ -1034,7 +1034,7 @@ void ScUndoPaste::DoChange(bool bUndo)
{
for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i)
{
- ScRange aRange = *maBlockRanges[i];
+ ScRange aRange = maBlockRanges[i];
ScMarkData::iterator itr = aMarkData.begin(), itrEnd = aMarkData.end();
for (; itr != itrEnd && *itr < nTabCount; ++itr)
{
@@ -1058,7 +1058,7 @@ void ScUndoPaste::DoChange(bool bUndo)
PaintPartFlags nPaint = PaintPartFlags::Grid;
for (size_t i = 0, n = aDrawRanges.size(); i < n; ++i)
{
- ScRange& rDrawRange = *aDrawRanges[i];
+ ScRange& rDrawRange = aDrawRanges[i];
rDoc.ExtendMerge(rDrawRange, true); // only needed for single sheet (text/rtf etc.)
if (bPaintAll)
{
@@ -1072,12 +1072,12 @@ void ScUndoPaste::DoChange(bool bUndo)
}
else
{
- if (maBlockRanges[i]->aStart.Row() == 0 && maBlockRanges[i]->aEnd.Row() == MAXROW) // whole column
+ if (maBlockRanges[i].aStart.Row() == 0 && maBlockRanges[i].aEnd.Row() == MAXROW) // whole column
{
nPaint |= PaintPartFlags::Top;
rDrawRange.aEnd.SetCol(MAXCOL);
}
- if (maBlockRanges[i]->aStart.Col() == 0 && maBlockRanges[i]->aEnd.Col() == MAXCOL) // whole row
+ if (maBlockRanges[i].aStart.Col() == 0 && maBlockRanges[i].aEnd.Col() == MAXCOL) // whole row
{
nPaint |= PaintPartFlags::Left;
rDrawRange.aEnd.SetRow(MAXROW);
@@ -1109,7 +1109,7 @@ void ScUndoPaste::Undo()
BeginUndo();
DoChange(true);
if (!maBlockRanges.empty())
- ShowTable(*maBlockRanges.front());
+ ShowTable(maBlockRanges.front());
EndUndo();
SfxGetpApp()->Broadcast( SfxHint( SfxHintId::ScAreaLinksChanged ) );
}
@@ -1380,8 +1380,8 @@ void ScUndoDragDrop::Undo()
for (size_t i = 0; i < maPaintRanges.size(); ++i)
{
- const ScRange* p = maPaintRanges[i];
- PaintArea(*p, mnPaintExtFlags);
+ const ScRange& r = maPaintRanges[i];
+ PaintArea(r, mnPaintExtFlags);
}
EndUndo();
@@ -2339,16 +2339,16 @@ static ScRange lcl_TotalRange( const ScRangeList& rRanges )
ScRange aTotal;
if ( !rRanges.empty() )
{
- aTotal = *rRanges[ 0 ];
+ aTotal = rRanges[ 0 ];
for ( size_t i = 1, nCount = rRanges.size(); i < nCount; ++i )
{
- ScRange aRange = *rRanges[ i ];
- if (aRange.aStart.Col() < aTotal.aStart.Col()) aTotal.aStart.SetCol(aRange.aStart.Col());
- if (aRange.aStart.Row() < aTotal.aStart.Row()) aTotal.aStart.SetRow(aRange.aStart.Row());
- if (aRange.aStart.Tab() < aTotal.aStart.Tab()) aTotal.aStart.SetTab(aRange.aStart.Tab());
- if (aRange.aEnd.Col() > aTotal.aEnd.Col() ) aTotal.aEnd.SetCol( aRange.aEnd.Col() );
- if (aRange.aEnd.Row() > aTotal.aEnd.Row() ) aTotal.aEnd.SetRow( aRange.aEnd.Row() );
- if (aRange.aEnd.Tab() > aTotal.aEnd.Tab() ) aTotal.aEnd.SetTab(aRange.aEnd.Tab() );
+ ScRange const & rRange = rRanges[ i ];
+ if (rRange.aStart.Col() < aTotal.aStart.Col()) aTotal.aStart.SetCol(rRange.aStart.Col());
+ if (rRange.aStart.Row() < aTotal.aStart.Row()) aTotal.aStart.SetRow(rRange.aStart.Row());
+ if (rRange.aStart.Tab() < aTotal.aStart.Tab()) aTotal.aStart.SetTab(rRange.aStart.Tab());
+ if (rRange.aEnd.Col() > aTotal.aEnd.Col() ) aTotal.aEnd.SetCol( rRange.aEnd.Col() );
+ if (rRange.aEnd.Row() > aTotal.aEnd.Row() ) aTotal.aEnd.SetRow( rRange.aEnd.Row() );
+ if (rRange.aEnd.Tab() > aTotal.aEnd.Tab() ) aTotal.aEnd.SetTab(rRange.aEnd.Tab() );
}
}
return aTotal;
@@ -2391,17 +2391,17 @@ void ScUndoBorder::Redo()
size_t nCount = xRanges->size();
for (size_t i = 0; i < nCount; ++i )
{
- ScRange aRange = *(*xRanges)[i];
- SCTAB nTab = aRange.aStart.Tab();
+ ScRange const & rRange = (*xRanges)[i];
+ SCTAB nTab = rRange.aStart.Tab();
ScMarkData aMark;
- aMark.SetMarkArea( aRange );
+ aMark.SetMarkArea( rRange );
aMark.SelectTable( nTab, true );
rDoc.ApplySelectionFrame(aMark, *xOuter, xInner.get());
}
for (size_t i = 0; i < nCount; ++i)
- pDocShell->PostPaint( *(*xRanges)[i], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE );
+ pDocShell->PostPaint( (*xRanges)[i], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE );
EndRedo();
}
diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx
index 7734e2ae7492..522914ec9cdc 100644
--- a/sc/source/ui/undo/undocell.cxx
+++ b/sc/source/ui/undo/undocell.cxx
@@ -60,7 +60,7 @@ namespace HelperNotifyChanges
for (const auto & rOldValue : rOldValues)
{
- aChangeRanges.Append( ScRange(rPos.Col(), rPos.Row(), rOldValue.mnTab));
+ aChangeRanges.push_back( ScRange(rPos.Col(), rPos.Row(), rOldValue.mnTab));
}
Notify(*pModelObj, aChangeRanges, "cell-change");
diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx
index b3de44ea8c8a..d3cef474a5d0 100644
--- a/sc/source/ui/undo/undodat.cxx
+++ b/sc/source/ui/undo/undodat.cxx
@@ -1676,7 +1676,7 @@ ScUndoChartData::ScUndoChartData( ScDocShell* pNewDocShell, const OUString& rNam
bAddRange( bAdd )
{
aNewRangeListRef = new ScRangeList;
- aNewRangeListRef->Append( rNew );
+ aNewRangeListRef->push_back( rNew );
Init();
}
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index d68573a3264b..0e6b0ef4e16a 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -919,19 +919,17 @@ static SCTAB lcl_FirstTab( const ScRangeList& rRanges )
{
if (rRanges.empty())
throw std::out_of_range("empty range");
- const ScRange* pFirst = rRanges[0];
- if (pFirst)
- return pFirst->aStart.Tab();
- return 0; // shouldn't happen
+ const ScRange & rFirst = rRanges[0];
+ return rFirst.aStart.Tab();
}
static bool lcl_WholeSheet( const ScRangeList& rRanges )
{
if ( rRanges.size() == 1 )
{
- const ScRange* pRange = rRanges[0];
- if ( pRange && pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
- pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
+ const ScRange & rRange = rRanges[0];
+ if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL &&
+ rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW )
return true;
}
return false;
@@ -1062,8 +1060,8 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r
size_t nCount = rRanges.size();
for (size_t i = 0; i < nCount; ++i)
{
- ScRange aRange( *rRanges[ i ] );
- SCTAB nTab = aRange.aStart.Tab();
+ ScRange const & rRange = rRanges[ i ];
+ SCTAB nTab = rRange.aStart.Tab();
if (bUndo)
{
@@ -1071,11 +1069,11 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r
pUndoDoc->InitUndo( &rDoc, nTab, nTab );
else
pUndoDoc->AddUndoTab( nTab, nTab );
- rDoc.CopyToDocument(aRange, InsertDeleteFlags::ATTRIB, false, *pUndoDoc);
+ rDoc.CopyToDocument(rRange, InsertDeleteFlags::ATTRIB, false, *pUndoDoc);
}
ScMarkData aMark;
- aMark.SetMarkArea( aRange );
+ aMark.SetMarkArea( rRange );
aMark.SelectTable( nTab, true );
rDoc.ApplySelectionFrame(aMark, rOuter, &rInner);
@@ -1089,7 +1087,7 @@ void ScHelperFunctions::ApplyBorder( ScDocShell* pDocShell, const ScRangeList& r
}
for (size_t i = 0; i < nCount; ++i )
- pDocShell->PostPaint( *rRanges[ i ], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE );
+ pDocShell->PostPaint( rRanges[ i ], PaintPartFlags::Grid, SC_PF_LINES | SC_PF_TESTMERGE );
pDocShell->SetDocumentModified();
}
@@ -1422,7 +1420,7 @@ ScCellRangesBase::ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR) :
ScRange aCellRange(rR);
aCellRange.PutInOrder();
- aRanges.Append( aCellRange );
+ aRanges.push_back( aCellRange );
if (pDocShell) // Null if created with createInstance
{
@@ -1585,14 +1583,11 @@ void ScCellRangesBase::Notify( SfxBroadcaster&, const SfxHint& rHint )
)
{
// #101755#; the range size of a sheet does not change
- ScRange* pR = aRanges.front();
- if (pR)
- {
- pR->aStart.SetCol(0);
- pR->aStart.SetRow(0);
- pR->aEnd.SetCol(MAXCOL);
- pR->aEnd.SetRow(MAXROW);
- }
+ ScRange & rR = aRanges.front();
+ rR.aStart.SetCol(0);
+ rR.aStart.SetRow(0);
+ rR.aEnd.SetCol(MAXCOL);
+ rR.aEnd.SetRow(MAXROW);
}
RefChanged();
@@ -1689,7 +1684,7 @@ void ScCellRangesBase::RefChanged()
ScDocument& rDoc = pDocShell->GetDocument();
for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
- rDoc.StartListeningArea( *aRanges[ i ], false, pValueListener );
+ rDoc.StartListeningArea( aRanges[ i ], false, pValueListener );
}
ForgetCurrentAttrs();
@@ -1713,7 +1708,7 @@ void ScCellRangesBase::InitInsertRange(ScDocShell* pDocSh, const ScRange& rR)
ScRange aCellRange(rR);
aCellRange.PutInOrder();
aRanges.RemoveAll();
- aRanges.Append( aCellRange );
+ aRanges.push_back( aCellRange );
pDocShell->GetDocument().AddUnoObject(*this);
@@ -1726,7 +1721,7 @@ void ScCellRangesBase::AddRange(const ScRange& rRange, const bool bMergeRanges)
if (bMergeRanges)
aRanges.Join(rRange);
else
- aRanges.Append(rRange);
+ aRanges.push_back(rRange);
RefChanged();
}
@@ -1736,7 +1731,7 @@ void ScCellRangesBase::SetNewRange(const ScRange& rNew)
aCellRange.PutInOrder();
aRanges.RemoveAll();
- aRanges.Append( aCellRange );
+ aRanges.push_back( aCellRange );
RefChanged();
}
@@ -1818,7 +1813,7 @@ uno::Sequence<sal_Int8> SAL_CALL ScCellRangesBase::getImplementationId()
void ScCellRangesBase::PaintGridRanges_Impl( )
{
for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i)
- pDocShell->PostPaint( *aRanges[ i ], PaintPartFlags::Grid );
+ pDocShell->PostPaint( aRanges[ i ], PaintPartFlags::Grid );
}
// XSheetOperation
@@ -2095,7 +2090,7 @@ uno::Any SAL_CALL ScCellRangesBase::getPropertyDefault( const OUString& aPropert
formula::FormulaGrammar::mapAPItoGrammar( bEnglish, bXML));
aAny <<= uno::Reference<sheet::XSheetConditionalEntries>(
- new ScTableConditionalFormat( &rDoc, 0, aRanges[0]->aStart.Tab(), eGrammar ));
+ new ScTableConditionalFormat( &rDoc, 0, aRanges[0].aStart.Tab(), eGrammar ));
}
break;
case SC_WID_UNO_VALIDAT:
@@ -2301,10 +2296,10 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
{
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
- ScRange aRange = *aRanges[i];
+ ScRange const & rRange = aRanges[i];
/* TODO: Iterate through the range */
- ScAddress aAddr = aRange.aStart;
+ ScAddress aAddr = rRange.aStart;
ScDocument& rDoc = pDocShell->GetDocument();
ScRefCellValue aCell(rDoc, aAddr);
@@ -2327,7 +2322,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
aEngine.QuickSetAttribs(aAttr, ESelection(0, 0, 0, aStr.getLength()));
// The cell will own the text object instance.
- rDoc.SetEditText(aRanges[0]->aStart, aEngine.CreateTextObject());
+ rDoc.SetEditText(aRanges[0].aStart, aEngine.CreateTextObject());
}
}
}
@@ -2392,16 +2387,16 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
formula::FormulaGrammar::GRAM_UNSPECIFIED :
formula::FormulaGrammar::mapAPItoGrammar( bEnglish, bXML));
- SCTAB nTab = aRanges.front()->aStart.Tab();
+ SCTAB nTab = aRanges.front().aStart.Tab();
// To remove conditional formats for all cells in aRanges we need to:
// Remove conditional format data from cells' attributes
rDoc.RemoveCondFormatData( aRanges, nTab, 0 );
// And also remove ranges from conditional formats list
for (size_t i = 0; i < aRanges.size(); ++i)
{
- rDoc.GetCondFormList( aRanges[i]->aStart.Tab() )->DeleteArea(
- aRanges[i]->aStart.Col(), aRanges[i]->aStart.Row(),
- aRanges[i]->aEnd.Col(), aRanges[i]->aEnd.Row() );
+ rDoc.GetCondFormList( aRanges[i].aStart.Tab() )->DeleteArea(
+ aRanges[i].aStart.Col(), aRanges[i].aStart.Row(),
+ aRanges[i].aEnd.Col(), aRanges[i].aEnd.Row() );
}
// Then we can apply new conditional format if there is one
@@ -2415,7 +2410,7 @@ void ScCellRangesBase::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
// and repaint
for (size_t i = 0; i < aRanges.size(); ++i)
- pDocShell->PostPaint(*aRanges[i], PaintPartFlags::Grid);
+ pDocShell->PostPaint(aRanges[i], PaintPartFlags::Grid);
pDocShell->SetDocumentModified();
}
}
@@ -2538,14 +2533,14 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
//! loop through all ranges
if ( !aRanges.empty() )
{
- const ScRange* pFirst = aRanges[ 0 ];
+ const ScRange & rFirst = aRanges[ 0 ];
SvxBoxItem aOuter(ATTR_BORDER);
SvxBoxInfoItem aInner(ATTR_BORDER_INNER);
ScDocument& rDoc = pDocShell->GetDocument();
ScMarkData aMark;
- aMark.SetMarkArea( *pFirst );
- aMark.SelectTable( pFirst->aStart.Tab(), true );
+ aMark.SetMarkArea( rFirst );
+ aMark.SelectTable( rFirst.aStart.Tab(), true );
rDoc.GetSelectionFrame( aMark, aOuter, aInner );
if (pEntry->nWID == SC_WID_UNO_TBLBORD2)
@@ -2574,7 +2569,7 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
if(!rIndex.empty())
nIndex = rIndex[0];
rAny <<= uno::Reference<sheet::XSheetConditionalEntries>(
- new ScTableConditionalFormat( &rDoc, nIndex, aRanges.front()->aStart.Tab(), eGrammar ));
+ new ScTableConditionalFormat( &rDoc, nIndex, aRanges.front().aStart.Tab(), eGrammar ));
}
}
break;
@@ -3012,11 +3007,11 @@ ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const
// (only here - Listeners are registered for the whole area)
//! check immediately if a ScTableSheetObj?
- const ScRange* pRange = aRanges[0];
- if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
- pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
+ const ScRange & rRange = aRanges[0];
+ if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL &&
+ rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW )
{
- SCTAB nTab = pRange->aStart.Tab();
+ SCTAB nTab = rRange.aStart.Tab();
SCCOL nStartX;
SCROW nStartY; // Get start
@@ -3034,8 +3029,7 @@ ScMemChart* ScCellRangesBase::CreateMemChart_Impl() const
nEndY = 0;
}
- xChartRanges = new ScRangeList;
- xChartRanges->Append( ScRange( nStartX, nStartY, nTab, nEndX, nEndY, nTab ) );
+ xChartRanges = new ScRangeList( ScRange( nStartX, nStartY, nTab, nEndX, nEndY, nTab ) );
}
}
if (!xChartRanges.is()) // otherwise take Ranges directly
@@ -3081,13 +3075,13 @@ ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns,
{
if ( aRanges.size() == 1 )
{
- const ScRange* pRange = aRanges[0];
- if ( pRange->aStart.Col() == 0 && pRange->aEnd.Col() == MAXCOL &&
- pRange->aStart.Row() == 0 && pRange->aEnd.Row() == MAXROW )
+ const ScRange & rRange = aRanges[0];
+ if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL &&
+ rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW )
{
// if aRanges is a complete sheet, limit to given size
- SCTAB nTab = pRange->aStart.Tab();
+ SCTAB nTab = rRange.aStart.Tab();
long nEndColumn = nDataColumns - 1 + ( bChartColAsHdr ? 1 : 0 );
if ( nEndColumn < 0 )
@@ -3101,8 +3095,7 @@ ScRangeListRef ScCellRangesBase::GetLimitedChartRanges_Impl( long nDataColumns,
if ( nEndRow > MAXROW )
nEndRow = MAXROW;
- ScRangeListRef xChartRanges = new ScRangeList;
- xChartRanges->Append( ScRange( 0, 0, nTab, static_cast<SCCOL>(nEndColumn), static_cast<SCROW>(nEndRow), nTab ) );
+ ScRangeListRef xChartRanges = new ScRangeList( ScRange( 0, 0, nTab, static_cast<SCCOL>(nEndColumn), static_cast<SCROW>(nEndRow), nTab ) );
return xChartRanges;
}
}
@@ -3386,7 +3379,7 @@ void SAL_CALL ScCellRangesBase::addModifyListener(const uno::Reference<util::XMo
ScDocument& rDoc = pDocShell->GetDocument();
for ( size_t i = 0, nCount = aRanges.size(); i < nCount; i++)
- rDoc.StartListeningArea( *aRanges[ i ], false, pValueListener );
+ rDoc.StartListeningArea( aRanges[ i ], false, pValueListener );
acquire(); // don't lose this object (one ref for all listeners)
}
@@ -3475,9 +3468,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryEmptyCel
// mark occupied cells
for (size_t i = 0, nCount = aRanges.size(); i < nCount; ++i)
{
- ScRange aRange = *aRanges[ i ];
+ ScRange const & rRange = aRanges[ i ];
- ScCellIterator aIter( &rDoc, aRange );
+ ScCellIterator aIter( &rDoc, rRange );
for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next())
{
// notes count as non-empty
@@ -3510,9 +3503,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryContentC
// select matching cells
for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aRange = *aRanges[ i ];
+ ScRange const & rRange = aRanges[ i ];
- ScCellIterator aIter( &rDoc, aRange );
+ ScCellIterator aIter( &rDoc, rRange );
for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next())
{
bool bAdd = false;
@@ -3599,9 +3592,9 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryFormulaC
// select matching cells
for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aRange = *aRanges[ i ];
+ ScRange const & rRange = aRanges[ i ];
- ScCellIterator aIter( &rDoc, aRange );
+ ScCellIterator aIter( &rDoc, rRange );
for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next())
{
if (aIter.getType() == CELLTYPE_FORMULA)
@@ -3673,7 +3666,7 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl(
for (i=0; i<nRangeCount; i++)
{
- ScRange aRange( *aRanges[ i ] );
+ ScRange aRange( aRanges[ i ] );
if ( aRange.Intersects( aCellRange ) )
{
if (bColumnDiff)
@@ -3697,9 +3690,9 @@ uno::Reference<sheet::XSheetCellRanges> ScCellRangesBase::QueryDifferences_Impl(
ScAddress aCmpAddr;
for (i=0; i<nRangeCount; i++)
{
- ScRange aRange( *aRanges[ i ] );
+ ScRange const & rRange = aRanges[ i ];
- ScCellIterator aIter( &rDoc, aRange );
+ ScCellIterator aIter( &rDoc, rRange );
for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next())
{
if (bColumnDiff)
@@ -3748,7 +3741,7 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryIntersec
ScRangeList aNew;
for ( size_t i = 0, nCount = aRanges.size(); i < nCount; ++i )
{
- ScRange aTemp( *aRanges[ i ] );
+ ScRange aTemp( aRanges[ i ] );
if ( aTemp.Intersects( aMask ) )
aNew.Join( ScRange( std::max( aTemp.aStart.Col(), aMask.aStart.Col() ),
std::max( aTemp.aStart.Row(), aMask.aStart.Row() ),
@@ -3784,8 +3777,8 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryPreceden
for (size_t nR = 0, nCount = aNewRanges.size(); nR<nCount; ++nR)
{
- ScRange aRange( *aNewRanges[ nR] );
- ScCellIterator aIter( &rDoc, aRange );
+ ScRange const & rRange = aNewRanges[ nR];
+ ScCellIterator aIter( &rDoc, rRange );
for (bool bHasCell = aIter.first(); bHasCell; bHasCell = aIter.next())
{
if (aIter.getType() != CELLTYPE_FORMULA)
@@ -3842,14 +3835,17 @@ uno::Reference<sheet::XSheetCellRanges> SAL_CALL ScCellRangesBase::queryDependen
bool bMark = false;
ScDetectiveRefIter aIter(aCellIter.getFormulaCell());
ScRange aRefRange;
- while ( aIter.GetNextRef( aRefRange) )
+ while ( aIter.GetNextRef( aRefRange) && !bMark )
{
size_t nRangesCount = aNewRanges.size();
for (size_t nR = 0; nR < nRangesCount; ++nR)
{
- ScRange aRange( *aNewRanges[ nR ] );
- if (aRange.Intersects(aRefRange))
+ ScRange const & rRange = aNewRanges[ nR ];
+ if (rRange.Intersects(aRefRange))
+ {
bMark = true; // depending on part of Range
+ break;
+ }
}
}
if (bMark)
@@ -3984,7 +3980,7 @@ uno::Reference<uno::XInterface> SAL_CALL ScCellRangesBase::findNext(
const ScRangeList& rStartRanges = pRangesImp->GetRangeList();
if ( rStartRanges.size() == 1 )
{
- ScAddress aStartPos = rStartRanges[ 0 ]->aStart;
+ ScAddress aStartPos = rStartRanges[ 0 ].aStart;
return Find_Impl( xDesc, &aStartPos );
}
}
@@ -4194,11 +4190,11 @@ ScCellRangeObj* ScCellRangesObj::GetObjectByIndex_Impl(sal_Int32 nIndex) const
const ScRangeList& rRanges = GetRangeList();
if ( pDocSh && nIndex >= 0 && nIndex < sal::static_int_cast<sal_Int32>(rRanges.size()) )
{
- ScRange aRange( *rRanges[ nIndex ] );
- if ( aRange.aStart == aRange.aEnd )
- return new ScCellObj( pDocSh, aRange.aStart );
+ ScRange const & rRange = rRanges[ nIndex ];
+ if ( rRange.aStart == rRange.aEnd )
+ return new ScCellObj( pDocSh, rRange.aStart );
else
- return new ScCellRangeObj( pDocSh, aRange );
+ return new ScCellRangeObj( pDocSh, rRange );
}
return nullptr; // no DocShell or wrong index
@@ -4217,7 +4213,7 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScCellRangesObj::getRangeAddress
table::CellRangeAddress* pAry = aSeq.getArray();
for ( size_t i=0; i < nCount; i++)
{
- ScUnoConversion::FillApiRange( aRangeAddress, *rRanges[ i ] );
+ ScUnoConversion::FillApiRange( aRangeAddress, rRanges[ i ] );
pAry[i] = aRangeAddress;
}
return aSeq;
@@ -4285,13 +4281,13 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress
ScRangeList aNotSheetRanges;
for (size_t i = 0; i < rRanges.size(); ++i)
{
- if (rRanges[ i]->aStart.Tab() == rRange.Sheet)
+ if (rRanges[ i].aStart.Tab() == rRange.Sheet)
{
- aSheetRanges.Append( *rRanges[ i ] );
+ aSheetRanges.push_back( rRanges[ i ] );
}
else
{
- aNotSheetRanges.Append( *rRanges[ i ] );
+ aNotSheetRanges.push_back( rRanges[ i ] );
}
}
ScMarkData aMarkData;
@@ -4317,7 +4313,7 @@ void SAL_CALL ScCellRangesObj::removeRangeAddress( const table::CellRangeAddress
aMarkData.FillRangeListWithMarks( &aNew, false );
for ( size_t j = 0; j < aNew.size(); ++j)
{
- AddRange(*aNew[ j ], false);
+ AddRange(aNew[ j ], false);
}
}
@@ -4396,7 +4392,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const OUString& aName, const uno::A
const ScRangeList& rAddRanges = pRangesImp->GetRangeList();
size_t nAddCount = rAddRanges.size();
for ( size_t i = 0; i < nAddCount; i++ )
- aNew.Join( *rAddRanges[ i ] );
+ aNew.Join( rAddRanges[ i ] );
SetNewRanges(aNew);
bDone = true;
@@ -4405,7 +4401,7 @@ void SAL_CALL ScCellRangesObj::insertByName( const OUString& aName, const uno::A
// if a name is given, also insert into list of named entries
// (only possible for a single range)
// name is not in m_pImpl->m_aNamedEntries (tested above)
- m_pImpl->m_aNamedEntries.emplace_back( aName, *rAddRanges[ 0 ] );
+ m_pImpl->m_aNamedEntries.emplace_back( aName, rAddRanges[ 0 ] );
}
}
}
@@ -4426,7 +4422,7 @@ static bool lcl_FindRangeByName( const ScRangeList& rRanges, ScDocShell* pDocSh,
ScDocument& rDoc = pDocSh->GetDocument();
for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
{
- aRangeStr = rRanges[ i ]->Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc);
+ aRangeStr = rRanges[ i ].Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc);
if ( aRangeStr == rName )
{
rIndex = i;
@@ -4446,7 +4442,7 @@ static bool lcl_FindRangeOrEntry( const ScNamedEntryArr_Impl& rNamedEntries,
size_t nIndex = 0;
if ( lcl_FindRangeByName( rRanges, pDocSh, rName, nIndex ) )
{
- rFound = *rRanges[ nIndex ];
+ rFound = rRanges[ nIndex ];
return true;
}
@@ -4504,7 +4500,7 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName )
ScRangeList aNew;
for ( size_t i = 0, nCount = rRanges.size(); i < nCount; i++ )
if (i != nIndex)
- aNew.Append( *rRanges[ i ] );
+ aNew.push_back( rRanges[ i ] );
SetNewRanges(aNew);
bDone = true;
}
@@ -4521,7 +4517,7 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName )
if (m_pImpl->m_aNamedEntries[n].GetName() == aName)
{
aDiff.RemoveAll();
- aDiff.Append(m_pImpl->m_aNamedEntries[n].GetRange());
+ aDiff.push_back(m_pImpl->m_aNamedEntries[n].GetRange());
bValid = true;
}
}
@@ -4532,9 +4528,9 @@ void SAL_CALL ScCellRangesObj::removeByName( const OUString& aName )
for ( size_t i = 0, nDiffCount = aDiff.size(); i < nDiffCount; i++ )
{
- ScRange* pDiffRange = aDiff[ i ];
- if (aMarkData.GetTableSelect( pDiffRange->aStart.Tab() ))
- aMarkData.SetMultiMarkArea( *pDiffRange, false );
+ ScRange const & rDiffRange = aDiff[ i ];
+ if (aMarkData.GetTableSelect( rDiffRange.aStart.Tab() ))
+ aMarkData.SetMultiMarkArea( rDiffRange, false );
}
ScRangeList aNew;
@@ -4616,11 +4612,11 @@ uno::Sequence<OUString> SAL_CALL ScCellRangesObj::getElementNames()
for (size_t i=0; i < nCount; i++)
{
// use given name if for exactly this range, otherwise just format
- ScRange aRange = *rRanges[ i ];
+ ScRange const & rRange = rRanges[ i ];
if (m_pImpl->m_aNamedEntries.empty() ||
- !lcl_FindEntryName(m_pImpl->m_aNamedEntries, aRange, aRangeStr))
+ !lcl_FindEntryName(m_pImpl->m_aNamedEntries, rRange, aRangeStr))
{
- aRangeStr = aRange.Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc);
+ aRangeStr = rRange.Format(ScRefFlags::VALID | ScRefFlags::TAB_3D, &rDoc);
}
pAry[i] = aRangeStr;
}
@@ -4727,8 +4723,8 @@ void ScCellRangeObj::RefChanged()
OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!");
if ( !rRanges.empty() )
{
- const ScRange* pFirst = rRanges[0];
- aRange = ScRange(*pFirst);
+ const ScRange & rFirst = rRanges[0];
+ aRange = rFirst;
aRange.PutInOrder();
}
}
@@ -5979,8 +5975,7 @@ void ScCellObj::RefChanged()
OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!");
if ( !rRanges.empty() )
{
- const ScRange* pFirst = rRanges[ 0 ];
- aCellPos = pFirst->aStart;
+ aCellPos = rRanges[ 0 ].aStart;
}
}
@@ -6827,8 +6822,7 @@ SCTAB ScTableSheetObj::GetTab_Impl() const
OSL_ENSURE(rRanges.size() == 1, "What ranges ?!?!");
if ( !rRanges.empty() )
{
- const ScRange* pFirst = rRanges[ 0 ];
- return pFirst->aStart.Tab();
+ return rRanges[ 0 ].aStart.Tab();
}
return 0;
}
@@ -6924,7 +6918,7 @@ uno::Reference<sheet::XSheetCellCursor> SAL_CALL ScTableSheetObj::createCursorBy
{
const ScRangeList& rRanges = pRangesImp->GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- return new ScCellCursorObj( pDocSh, *rRanges[ 0 ] );
+ return new ScCellCursorObj( pDocSh, rRanges[ 0 ] );
}
}
return nullptr;
@@ -7933,12 +7927,12 @@ uno::Sequence< table::CellRangeAddress > SAL_CALL ScTableSheetObj::getRanges( )
table::CellRangeAddress* pAry = aRetRanges.getArray();
for( size_t nIndex = 0; nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = (*pRangeList)[nIndex];
- pAry->StartColumn = pRange->aStart.Col();
- pAry->StartRow = pRange->aStart.Row();
- pAry->EndColumn = pRange->aEnd.Col();
- pAry->EndRow = pRange->aEnd.Row();
- pAry->Sheet = pRange->aStart.Tab();
+ const ScRange & rRange = (*pRangeList)[nIndex];
+ pAry->StartColumn = rRange.aStart.Col();
+ pAry->StartRow = rRange.aStart.Row();
+ pAry->EndColumn = rRange.aEnd.Col();
+ pAry->EndRow = rRange.aEnd.Row();
+ pAry->Sheet = rRange.aStart.Tab();
++pAry;
}
return aRetRanges;
@@ -8941,10 +8935,7 @@ ScCellsEnumeration::ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR
bAtEnd = true;
else
{
- SCTAB nTab = 0;
- const ScRange* pFirst = aRanges[ 0 ];
- if (pFirst)
- nTab = pFirst->aStart.Tab();
+ SCTAB nTab = aRanges[ 0 ].aStart.Tab();
aPos = ScAddress(0,0,nTab);
CheckPos_Impl(); // set aPos on first matching cell
}
@@ -9016,13 +9007,12 @@ void ScCellsEnumeration::Notify( SfxBroadcaster&, const SfxHint& rHint )
if (!bAtEnd) // adjust aPos
{
- ScRangeList aNew;
- aNew.Append(ScRange(aPos));
+ ScRangeList aNew { ScRange(aPos) };
aNew.UpdateReference( pRefHint->GetMode(), &pDocShell->GetDocument(), pRefHint->GetRange(),
pRefHint->GetDx(), pRefHint->GetDy(), pRefHint->GetDz() );
if (aNew.size()==1)
{
- aPos = aNew[ 0 ]->aStart;
+ aPos = aNew[ 0 ].aStart;
CheckPos_Impl();
}
}
@@ -9401,8 +9391,7 @@ const ScRangeList& ScUniqueFormatsEntry::GetRanges()
{
if ( eState == STATE_SINGLE )
{
- aReturnRanges = new ScRangeList;
- aReturnRanges->Append( aSingleRange );
+ aReturnRanges = new ScRangeList( aSingleRange );
return *aReturnRanges;
}
@@ -9422,7 +9411,7 @@ const ScRangeList& ScUniqueFormatsEntry::GetRanges()
aReturnRanges = new ScRangeList;
ScRangeVector::const_iterator aCompEnd( aCompletedRanges.end() );
for ( ScRangeVector::const_iterator aCompIter( aCompletedRanges.begin() ); aCompIter != aCompEnd; ++aCompIter )
- aReturnRanges->Append( *aCompIter );
+ aReturnRanges->push_back( *aCompIter );
aCompletedRanges.clear();
return *aReturnRanges;
@@ -9439,7 +9428,7 @@ struct ScUniqueFormatsOrder
OSL_ENSURE( rList1.size() > 0 && rList2.size() > 0, "ScUniqueFormatsOrder: empty list" );
// compare start positions using ScAddress comparison operator
- return ( rList1[ 0 ]->aStart < rList2[ 0 ]->aStart );
+ return ( rList1[ 0 ].aStart < rList2[ 0 ].aStart );
}
};
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 96f527efca71..e0def91cb78b 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -2669,10 +2669,9 @@ void ScChart2DataSequence::UpdateTokensFromRanges(const ScRangeList& rRanges)
for ( size_t i = 0, nCount = rRanges.size(); i < nCount; ++i )
{
ScTokenRef pToken;
- const ScRange* pRange = rRanges[i];
- OSL_ENSURE(pRange, "range object is nullptr.");
+ const ScRange & rRange = rRanges[i];
- ScRefTokenHelper::getTokenFromRange(pToken, *pRange);
+ ScRefTokenHelper::getTokenFromRange(pToken, rRange);
sal_uInt32 nOrigPos = (*m_pRangeIndices)[i];
m_aTokens[nOrigPos] = pToken;
}
@@ -2756,7 +2755,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
{
ScRange aRange;
ScRefTokenHelper::getRangeFromToken(aRange, *itr, ScAddress());
- aRanges.Append(aRange);
+ aRanges.push_back(aRange);
sal_uInt32 nPos = distance(itrBeg, itr);
m_pRangeIndices->push_back(nPos);
}
diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx
index 1c7cb5672562..c146e3aba2e3 100644
--- a/sc/source/ui/unoobj/chartuno.cxx
+++ b/sc/source/ui/unoobj/chartuno.cxx
@@ -166,7 +166,7 @@ void SAL_CALL ScChartsObj::addNewByName( const OUString& rName,
{
ScRange aRange( static_cast<SCCOL>(pAry[i].StartColumn), pAry[i].StartRow, pAry[i].Sheet,
static_cast<SCCOL>(pAry[i].EndColumn), pAry[i].EndRow, pAry[i].Sheet );
- pList->Append( aRange );
+ pList->push_back( aRange );
}
}
ScRangeListRef xNewRanges( pList );
@@ -531,7 +531,7 @@ void ScChartObj::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno:
{
ScRange aRange;
ScUnoConversion::FillScRange( aRange, aCellRange );
- rRangeList->Append( aRange );
+ rRangeList->push_back( aRange );
}
if ( pDocShell )
{
@@ -576,9 +576,9 @@ void ScChartObj::getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) con
table::CellRangeAddress* pCellRanges = aCellRanges.getArray();
for (size_t i = 0; i < nCount; ++i)
{
- ScRange aRange(*(*rRangeList)[i]);
+ ScRange const & rRange = (*rRangeList)[i];
table::CellRangeAddress aCellRange;
- ScUnoConversion::FillApiRange(aCellRange, aRange);
+ ScUnoConversion::FillApiRange(aCellRange, rRange);
pCellRanges[i] = aCellRange;
}
rValue <<= aCellRanges;
@@ -661,13 +661,13 @@ uno::Sequence<table::CellRangeAddress> SAL_CALL ScChartObj::getRanges()
table::CellRangeAddress* pAry = aSeq.getArray();
for (size_t i = 0; i < nCount; i++)
{
- ScRange aRange( *(*xRanges)[i] );
+ ScRange const & rRange = (*xRanges)[i];
- aRangeAddress.Sheet = aRange.aStart.Tab();
- aRangeAddress.StartColumn = aRange.aStart.Col();
- aRangeAddress.StartRow = aRange.aStart.Row();
- aRangeAddress.EndColumn = aRange.aEnd.Col();
- aRangeAddress.EndRow = aRange.aEnd.Row();
+ aRangeAddress.Sheet = rRange.aStart.Tab();
+ aRangeAddress.StartColumn = rRange.aStart.Col();
+ aRangeAddress.StartRow = rRange.aStart.Row();
+ aRangeAddress.EndColumn = rRange.aEnd.Col();
+ aRangeAddress.EndRow = rRange.aEnd.Row();
pAry[i] = aRangeAddress;
}
@@ -694,7 +694,7 @@ void SAL_CALL ScChartObj::setRanges( const uno::Sequence<table::CellRangeAddress
{
ScRange aRange( static_cast<SCCOL>(pAry[i].StartColumn), pAry[i].StartRow, pAry[i].Sheet,
static_cast<SCCOL>(pAry[i].EndColumn), pAry[i].EndRow, pAry[i].Sheet );
- pList->Append( aRange );
+ pList->push_back( aRange );
}
}
ScRangeListRef xNewRanges( pList );
diff --git a/sc/source/ui/unoobj/condformatuno.cxx b/sc/source/ui/unoobj/condformatuno.cxx
index 50fb8a76e326..4f1a5e4f0baa 100644
--- a/sc/source/ui/unoobj/condformatuno.cxx
+++ b/sc/source/ui/unoobj/condformatuno.cxx
@@ -354,7 +354,7 @@ sal_Int32 ScCondFormatsObj::createByRange(const uno::Reference< sheet::XSheetCel
if (aCoreRange.empty())
throw lang::IllegalArgumentException();
- SCTAB nTab = aCoreRange[0]->aStart.Tab();
+ SCTAB nTab = aCoreRange[0].aStart.Tab();
ScConditionalFormat* pNewFormat = new ScConditionalFormat(0, &mpDocShell->GetDocument());
pNewFormat->SetRange(aCoreRange);
diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx
index edeaa08590f1..9431200524bf 100644
--- a/sc/source/ui/unoobj/cursuno.cxx
+++ b/sc/source/ui/unoobj/cursuno.cxx
@@ -98,7 +98,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
ScDocShell* pDocSh = GetDocShell();
@@ -123,7 +123,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentArray()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
ScAddress aCursor(aOneRange.aStart); // use the start address of the range
@@ -158,7 +158,7 @@ void SAL_CALL ScCellCursorObj::collapseToMergedArea()
{
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[ 0 ] );
+ ScRange aNewRange( rRanges[ 0 ] );
ScDocument& rDoc = pDocSh->GetDocument();
rDoc.ExtendOverlapped( aNewRange );
@@ -173,7 +173,7 @@ void SAL_CALL ScCellCursorObj::expandToEntireColumns()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[ 0 ] );
+ ScRange aNewRange( rRanges[ 0 ] );
aNewRange.aStart.SetRow( 0 );
aNewRange.aEnd.SetRow( MAXROW );
@@ -186,7 +186,7 @@ void SAL_CALL ScCellCursorObj::expandToEntireRows()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[ 0 ] );
+ ScRange aNewRange( rRanges[ 0 ] );
aNewRange.aStart.SetCol( 0 );
aNewRange.aEnd.SetCol( MAXCOL );
@@ -206,7 +206,7 @@ void SAL_CALL ScCellCursorObj::collapseToSize( sal_Int32 nColumns, sal_Int32 nRo
{
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[ 0 ] );
+ ScRange aNewRange( rRanges[ 0 ] );
aNewRange.PutInOrder(); //! really?
@@ -237,7 +237,7 @@ void SAL_CALL ScCellCursorObj::gotoStartOfUsedArea(sal_Bool bExpand)
{
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[0] );
+ ScRange aNewRange( rRanges[0] );
SCTAB nTab = aNewRange.aStart.Tab();
SCCOL nUsedX = 0; // fetch the beginning
@@ -264,7 +264,7 @@ void SAL_CALL ScCellCursorObj::gotoEndOfUsedArea( sal_Bool bExpand )
{
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aNewRange( *rRanges[ 0 ]);
+ ScRange aNewRange( rRanges[ 0 ]);
SCTAB nTab = aNewRange.aStart.Tab();
SCCOL nUsedX = 0; // fetch the end
@@ -293,7 +293,7 @@ void SAL_CALL ScCellCursorObj::gotoStart()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ]);
+ ScRange aOneRange( rRanges[ 0 ]);
aOneRange.PutInOrder();
ScDocShell* pDocSh = GetDocShell();
@@ -321,7 +321,7 @@ void SAL_CALL ScCellCursorObj::gotoEnd()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
ScDocShell* pDocSh = GetDocShell();
@@ -346,7 +346,7 @@ void SAL_CALL ScCellCursorObj::gotoNext()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
ScAddress aCursor(aOneRange.aStart); // always use start of block
@@ -368,7 +368,7 @@ void SAL_CALL ScCellCursorObj::gotoPrevious()
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
ScAddress aCursor(aOneRange.aStart); // always use start of block
@@ -390,7 +390,7 @@ void SAL_CALL ScCellCursorObj::gotoOffset( sal_Int32 nColumnOffset, sal_Int32 nR
SolarMutexGuard aGuard;
const ScRangeList& rRanges = GetRangeList();
OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
- ScRange aOneRange( *rRanges[ 0 ] );
+ ScRange aOneRange( rRanges[ 0 ] );
aOneRange.PutInOrder();
if ( aOneRange.aStart.Col() + nColumnOffset >= 0 &&
diff --git a/sc/source/ui/unoobj/dapiuno.cxx b/sc/source/ui/unoobj/dapiuno.cxx
index 0f4af4a65662..9c2a26d65b7a 100644
--- a/sc/source/ui/unoobj/dapiuno.cxx
+++ b/sc/source/ui/unoobj/dapiuno.cxx
@@ -1310,18 +1310,13 @@ void ScDataPilotTableObj::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
else if ( dynamic_cast<const ScUpdateRefHint*>(&rHint) )
{
ScRange aRange( 0, 0, nTab );
- ScRangeList aRanges;
- aRanges.Append( aRange );
+ ScRangeList aRanges( aRange );
const ScUpdateRefHint& rRef = static_cast< const ScUpdateRefHint& >( rHint );
if ( aRanges.UpdateReference( rRef.GetMode(), &GetDocShell()->GetDocument(), rRef.GetRange(),
rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) &&
aRanges.size() == 1 )
{
- const ScRange* pRange = aRanges.front();
- if ( pRange )
- {
- nTab = pRange->aStart.Tab();
- }
+ nTab = aRanges.front().aStart.Tab();
}
}
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 8d3881bb99b1..6eeeef3c9684 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -2952,14 +2952,14 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r
{
uno::Reference< table::XCellRange > xRangeObj;
- ScRange aRange( *rRanges[ nIndex ] );
- if ( aRange.aStart == aRange.aEnd )
+ ScRange const & rRange = rRanges[ nIndex ];
+ if ( rRange.aStart == rRange.aEnd )
{
- xRangeObj.set( new ScCellObj( pDocShell, aRange.aStart ) );
+ xRangeObj.set( new ScCellObj( pDocShell, rRange.aStart ) );
}
else
{
- xRangeObj.set( new ScCellRangeObj( pDocShell, aRange ) );
+ xRangeObj.set( new ScCellRangeObj( pDocShell, rRange ) );
}
util::ElementChange& rChange = aEvent.Changes[ static_cast< sal_Int32 >( nIndex ) ];
@@ -3003,9 +3003,9 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r
size_t nRangeCount = rRanges.size();
for ( size_t nIndex = 0; nIndex < nRangeCount; ++nIndex )
{
- ScRange aRange( *rRanges[ nIndex ] );
- if ( aRange.aStart.Tab() == nTab )
- aTabRanges.Append( aRange );
+ ScRange const & rRange = rRanges[ nIndex ];
+ if ( rRange.aStart.Tab() == nTab )
+ aTabRanges.push_back( rRange );
}
size_t nTabRangeCount = aTabRanges.size();
if ( nTabRangeCount > 0 )
@@ -3013,11 +3013,11 @@ void ScModelObj::NotifyChanges( const OUString& rOperation, const ScRangeList& r
uno::Reference<uno::XInterface> xTarget;
if ( nTabRangeCount == 1 )
{
- ScRange aRange( *aTabRanges[ 0 ] );
- if ( aRange.aStart == aRange.aEnd )
- xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, aRange.aStart ) ) );
+ ScRange const & rRange = aTabRanges[ 0 ];
+ if ( rRange.aStart == rRange.aEnd )
+ xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellObj( pDocShell, rRange.aStart ) ) );
else
- xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangeObj( pDocShell, aRange ) ) );
+ xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangeObj( pDocShell, rRange ) ) );
}
else
xTarget.set( static_cast<cppu::OWeakObject*>( new ScCellRangesObj( pDocShell, aTabRanges ) ) );
@@ -3633,9 +3633,8 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj:
xRet.realloc(nCount);
for( size_t nIndex = 0; nIndex < nCount; nIndex++ )
{
- const ScRange* pRange = aRangeList[ nIndex ];
- if( pRange )
- xRet[nIndex] = new ScCellRangeObj(pDocShell, *pRange);
+ const ScRange & rRange = aRangeList[ nIndex ];
+ xRet[nIndex] = new ScCellRangeObj(pDocShell, rRange);
}
return xRet;
diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx
index 01f202642137..68cf909663f4 100644
--- a/sc/source/ui/unoobj/funcuno.cxx
+++ b/sc/source/ui/unoobj/funcuno.cxx
@@ -549,18 +549,18 @@ uno::Any SAL_CALL ScFunctionAccess::callFunction( const OUString& aName,
const ScRangeList& rRanges = pImpl->GetRangeList();
if ( pSrcDoc && rRanges.size() == 1 )
{
- ScRange aSrcRange = *rRanges[ 0 ];
+ ScRange const & rSrcRange = rRanges[ 0 ];
long nStartRow = nDocRow;
- long nColCount = aSrcRange.aEnd.Col() - aSrcRange.aStart.Col() + 1;
- long nRowCount = aSrcRange.aEnd.Row() - aSrcRange.aStart.Row() + 1;
+ long nColCount = rSrcRange.aEnd.Col() - rSrcRange.aStart.Col() + 1;
+ long nRowCount = rSrcRange.aEnd.Row() - rSrcRange.aStart.Row() + 1;
if ( nStartRow + nRowCount > MAXROWCOUNT )
bOverflow = true;
else
{
// copy data
- if ( !lcl_CopyData( pSrcDoc, aSrcRange, pDoc, ScAddress( 0, static_cast<SCROW>(nDocRow), 0 ) ) )
+ if ( !lcl_CopyData( pSrcDoc, rSrcRange, pDoc, ScAddress( 0, static_cast<SCROW>(nDocRow), 0 ) ) )
bOverflow = true;
}
diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index d2538279d043..ec637f1272e8 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -626,8 +626,8 @@ static bool lcl_TabInRanges( SCTAB nTab, const ScRangeList& rRanges )
{
for (size_t i = 0, nCount = rRanges.size(); i < nCount; ++i)
{
- const ScRange* pRange = rRanges[ i ];
- if ( nTab >= pRange->aStart.Tab() && nTab <= pRange->aEnd.Tab() )
+ const ScRange & rRange = rRanges[ i ];
+ if ( nTab >= rRange.aStart.Tab() && nTab <= rRange.aEnd.Tab() )
return true;
}
return false;
@@ -739,25 +739,22 @@ sal_Bool SAL_CALL ScTabViewObj::select( const uno::Any& aSelection )
if ( nRangeCount == 0 )
pViewSh->Unmark();
else if ( nRangeCount == 1 )
- pViewSh->MarkRange( *rRanges[ 0 ] );
+ pViewSh->MarkRange( rRanges[ 0 ] );
else
{
// multiselection
- const ScRange* pFirst = rRanges[ 0 ];
- if ( pFirst && !lcl_TabInRanges( rViewData.GetTabNo(), rRanges ) )
- pViewSh->SetTabNo( pFirst->aStart.Tab() );
+ const ScRange & rFirst = rRanges[ 0 ];
+ if ( !lcl_TabInRanges( rViewData.GetTabNo(), rRanges ) )
+ pViewSh->SetTabNo( rFirst.aStart.Tab() );
pViewSh->DoneBlockMode();
pViewSh->InitOwnBlockMode();
rViewData.GetMarkData().MarkFromRangeList( rRanges, true );
pViewSh->MarkDataChanged();
rViewData.GetDocShell()->PostPaintGridAll(); // Marks (old&new)
- if ( pFirst )
- {
- pViewSh->AlignToCursor( pFirst->aStart.Col(), pFirst->aStart.Row(),
- SC_FOLLOW_JUMP );
- pViewSh->SetCursor( pFirst->aStart.Col(), pFirst->aStart.Row() );
- }
+ pViewSh->AlignToCursor( rFirst.aStart.Col(), rFirst.aStart.Row(),
+ SC_FOLLOW_JUMP );
+ pViewSh->SetCursor( rFirst.aStart.Col(), rFirst.aStart.Row() );
//! method of the view to select RangeList
}
@@ -922,7 +919,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelection()
break;
case 1:
{
- const ScRange& rRange = *(aRangeList[ 0 ]);
+ const ScRange& rRange = aRangeList[ 0 ];
if (rRange.aStart == rRange.aEnd)
pObj = new ScCellObj( pDocSh, rRange.aStart );
else
@@ -1086,7 +1083,7 @@ void SAL_CALL ScTabViewObj::setActiveSheet( const uno::Reference<sheet::XSpreads
const ScRangeList& rRanges = pRangesImp->GetRangeList();
if ( rRanges.size() == 1 )
{
- SCTAB nNewTab = rRanges[ 0 ]->aStart.Tab();
+ SCTAB nNewTab = rRanges[ 0 ].aStart.Tab();
if ( pViewSh->GetViewData().GetDocument()->HasTable(nNewTab) )
pViewSh->SetTabNo( nNewTab );
}
diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx
index 58cc3e9451cf..978de7118fce 100644
--- a/sc/source/ui/vba/vbaapplication.cxx
+++ b/sc/source/ui/vba/vbaapplication.cxx
@@ -1127,11 +1127,11 @@ uno::Reference< excel::XRange > lclCreateVbaRange(
ScRangeList aCellRanges;
for( ListOfScRange::const_iterator aIt = rList.begin(), aEnd = rList.end(); aIt != aEnd; ++aIt )
- aCellRanges.Append( *aIt );
+ aCellRanges.push_back( *aIt );
if( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocShell, aCellRanges.front() ) );
return new ScVbaRange( excel::getUnoSheetModuleObj( xRange ), rxContext, xRange );
}
if( aCellRanges.size() > 1 )
diff --git a/sc/source/ui/vba/vbaeventshelper.cxx b/sc/source/ui/vba/vbaeventshelper.cxx
index 24ae774e4e92..400f6459fa3b 100644
--- a/sc/source/ui/vba/vbaeventshelper.cxx
+++ b/sc/source/ui/vba/vbaeventshelper.cxx
@@ -385,7 +385,7 @@ void SAL_CALL ScVbaEventListener::changesOccurred( const util::ChangesEvent& rEv
{
ScRange aRange;
ScUnoConversion::FillScRange( aRange, xCellRangeAddressable->getRangeAddress() );
- aRangeList.Append( aRange );
+ aRangeList.push_back( aRange );
}
}
}
@@ -829,7 +829,7 @@ bool lclSelectionChanged( const ScRangeList& rLeft, const ScRangeList& rRight )
return !(bLeftEmpty && bRightEmpty);
// check sheet indexes of the range lists (assuming that all ranges in a list are on the same sheet)
- if (rLeft[0]->aStart.Tab() != rRight[0]->aStart.Tab())
+ if (rLeft[0].aStart.Tab() != rRight[0].aStart.Tab())
return false;
// compare all ranges
diff --git a/sc/source/ui/vba/vbahyperlinks.cxx b/sc/source/ui/vba/vbahyperlinks.cxx
index 148e774b3b17..7e46e38a1c6d 100644
--- a/sc/source/ui/vba/vbahyperlinks.cxx
+++ b/sc/source/ui/vba/vbahyperlinks.cxx
@@ -42,7 +42,7 @@ bool lclContains( const ScRangeList& rScOuter, const uno::Reference< excel::XRan
throw uno::RuntimeException("Empty range objects" );
for( size_t nIndex = 0, nCount = rScInner.size(); nIndex < nCount; ++nIndex )
- if( !rScOuter.In( *rScInner[ nIndex ] ) )
+ if( !rScOuter.In( rScInner[ nIndex ] ) )
return false;
return true;
}
@@ -89,7 +89,7 @@ bool EqualAnchorFunctor::operator()( const uno::Reference< excel::XHyperlink >&
uno::Reference< excel::XRange > xAnchorRange( rxHlink->getRange(), uno::UNO_QUERY_THROW );
const ScRangeList& rScRanges1 = ScVbaRange::getScRangeList( xAnchorRange );
const ScRangeList& rScRanges2 = ScVbaRange::getScRangeList( mxAnchorRange );
- return (rScRanges1.size() == 1) && (rScRanges2.size() == 1) && (*rScRanges1[ 0 ] == *rScRanges2[ 0 ]);
+ return (rScRanges1.size() == 1) && (rScRanges2.size() == 1) && (rScRanges1[ 0 ] == rScRanges2[ 0 ]);
}
case office::MsoHyperlinkType::msoHyperlinkShape:
case office::MsoHyperlinkType::msoHyperlinkInlineShape:
diff --git a/sc/source/ui/vba/vbanames.cxx b/sc/source/ui/vba/vbanames.cxx
index 553d796a7c83..42b290c67df3 100644
--- a/sc/source/ui/vba/vbanames.cxx
+++ b/sc/source/ui/vba/vbanames.cxx
@@ -170,7 +170,7 @@ ScVbaNames::Add( const css::uno::Any& Name ,
if ( ScVbaRange::getCellRangesForAddress( nFlags, sFormula, pDocSh, aCellRanges, eConv , ',' ) )
{
if ( aCellRanges.size() == 1 )
- xUnoRange = new ScCellRangeObj( pDocSh, *aCellRanges.front() );
+ xUnoRange = new ScCellRangeObj( pDocSh, aCellRanges.front() );
else
{
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pDocSh, aCellRanges ) );
diff --git a/sc/source/ui/vba/vbapagesetup.cxx b/sc/source/ui/vba/vbapagesetup.cxx
index dd4a0169ee64..a86c013d3ab8 100644
--- a/sc/source/ui/vba/vbapagesetup.cxx
+++ b/sc/source/ui/vba/vbapagesetup.cxx
@@ -78,7 +78,7 @@ OUString SAL_CALL ScVbaPageSetup::getPrintArea()
{
ScRange aRange;
ScUnoConversion::FillScRange( aRange, aSeq[i] );
- aRangeList.Append( aRange );
+ aRangeList.push_back( aRange );
}
ScDocument& rDoc = excel::getDocShell( mxModel )->GetDocument();
aRangeList.Format( aPrintArea, ScRefFlags::RANGE_ABS, &rDoc, formula::FormulaGrammar::CONV_XL_A1, ',' );
@@ -106,9 +106,9 @@ void SAL_CALL ScVbaPageSetup::setPrintArea( const OUString& rAreas )
uno::Sequence< table::CellRangeAddress > aSeq( aCellRanges.size() );
for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
- ScRange* pRange = aCellRanges[ i ];
+ ScRange & rRange = aCellRanges[ i ];
table::CellRangeAddress aRangeAddress;
- ScUnoConversion::FillApiRange( aRangeAddress, *pRange );
+ ScUnoConversion::FillApiRange( aRangeAddress, rRange );
aSeq[ i++ ] = aRangeAddress;
}
xPrintAreas->setPrintAreas( aSeq );
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index f9577e461c74..00e3b6c47151 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -236,12 +236,12 @@ static uno::Reference< excel::XRange > lcl_makeXRangeFromSheetCellRanges( const
{
ScRange refRange;
ScUnoConversion::FillScRange( refRange, sAddresses[ index ] );
- aCellRanges.Append( refRange );
+ aCellRanges.push_back( refRange );
}
// Single range
if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xTmpRange( new ScCellRangeObj( pDoc, aCellRanges.front() ) );
xRange = new ScVbaRange( xParent, xContext, xTmpRange );
}
else
@@ -883,7 +883,7 @@ protected:
if ( pUnoRangesBase )
{
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart, m_eGrammar );
+ ScCompiler aCompiler( m_pDoc, aCellRanges.front().aStart, m_eGrammar );
// compile the string in the format passed in
std::unique_ptr<ScTokenArray> pArray(aCompiler.CompileString(sFormula));
// set desired convention to that of the document
@@ -926,7 +926,7 @@ public:
pUnoRangesBase )
{
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScCompiler aCompiler( m_pDoc, aCellRanges.front()->aStart, formula::FormulaGrammar::GRAM_DEFAULT );
+ ScCompiler aCompiler( m_pDoc, aCellRanges.front().aStart, formula::FormulaGrammar::GRAM_DEFAULT );
std::unique_ptr<ScTokenArray> pArray(aCompiler.CompileString(sVal));
// set desired convention
aCompiler.SetGrammar( m_eGrammar );
@@ -1217,13 +1217,13 @@ bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, const
for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
- ScRange* pRange = aCellRanges[ i ];
- pRange->aStart.SetCol( refRange.aStart.Col() + pRange->aStart.Col() );
- pRange->aStart.SetRow( refRange.aStart.Row() + pRange->aStart.Row() );
- pRange->aStart.SetTab( bTabFromReferrer ? refRange.aStart.Tab() : pRange->aStart.Tab() );
- pRange->aEnd.SetCol( refRange.aStart.Col() + pRange->aEnd.Col() );
- pRange->aEnd.SetRow( refRange.aStart.Row() + pRange->aEnd.Row() );
- pRange->aEnd.SetTab( bTabFromReferrer ? refRange.aEnd.Tab() : pRange->aEnd.Tab() );
+ ScRange & rRange = aCellRanges[ i ];
+ rRange.aStart.SetCol( refRange.aStart.Col() + rRange.aStart.Col() );
+ rRange.aStart.SetRow( refRange.aStart.Row() + rRange.aStart.Row() );
+ rRange.aStart.SetTab( bTabFromReferrer ? refRange.aStart.Tab() : rRange.aStart.Tab() );
+ rRange.aEnd.SetCol( refRange.aStart.Col() + rRange.aEnd.Col() );
+ rRange.aEnd.SetRow( refRange.aStart.Row() + rRange.aEnd.Row() );
+ rRange.aEnd.SetTab( bTabFromReferrer ? refRange.aEnd.Tab() : rRange.aEnd.Tab() );
}
}
return true;
@@ -1241,7 +1241,7 @@ getRangeForName( const uno::Reference< uno::XComponentContext >& xContext, const
// Single range
if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pDocSh, aCellRanges.front() ) );
uno::Reference< XHelperInterface > xFixThisParent = excel::getUnoSheetModuleObj( xRange );
return new ScVbaRange( xFixThisParent, xContext, xRange );
}
@@ -1305,7 +1305,7 @@ uno::Reference< sheet::XSheetCellRangeContainer > lclExpandToMerged( const uno::
table::CellRangeAddress aRangeAddr = lclGetRangeAddress( lclExpandToMerged( xRange, bRecursive ) );
ScRange aScRange;
ScUnoConversion::FillScRange( aScRange, aRangeAddr );
- aScRanges.Append( aScRange );
+ aScRanges.push_back( aScRange );
}
return new ScCellRangesObj( getDocShellFromRanges( rxCellRanges ), aScRanges );
}
@@ -1387,7 +1387,7 @@ table::CellRangeAddress getCellRangeAddressForVBARange( const uno::Any& aParam,
if ( aCellRanges.size() == 1 )
{
table::CellRangeAddress aRangeAddress;
- ScUnoConversion::FillApiRange( aRangeAddress, *aCellRanges.front() );
+ ScUnoConversion::FillApiRange( aRangeAddress, aCellRanges.front() );
return aRangeAddress;
}
}
@@ -1786,8 +1786,8 @@ ScVbaRange::HasFormula()
// check if there are holes (where some cells are not formulas)
// or returned range is not equal to this range
if ( ( pFormulaRanges->GetRangeList().size() > 1 )
- || ( pFormulaRanges->GetRangeList().front()->aStart != pThisRanges->GetRangeList().front()->aStart )
- || ( pFormulaRanges->GetRangeList().front()->aEnd != pThisRanges->GetRangeList().front()->aEnd )
+ || ( pFormulaRanges->GetRangeList().front().aStart != pThisRanges->GetRangeList().front().aStart )
+ || ( pFormulaRanges->GetRangeList().front().aEnd != pThisRanges->GetRangeList().front().aEnd )
)
return aNULL(); // should return aNULL;
}
@@ -1872,16 +1872,16 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff )
for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
- ScRange* pRange = aCellRanges[ i ];
+ ScRange & rRange = aCellRanges[ i ];
if ( bIsColumnOffset )
{
- pRange->aStart.SetCol( pRange->aStart.Col() + nColOffset );
- pRange->aEnd.SetCol( pRange->aEnd.Col() + nColOffset );
+ rRange.aStart.SetCol( rRange.aStart.Col() + nColOffset );
+ rRange.aEnd.SetCol( rRange.aEnd.Col() + nColOffset );
}
if ( bIsRowOffset )
{
- pRange->aStart.SetRow( pRange->aStart.Row() + nRowOffset );
- pRange->aEnd.SetRow( pRange->aEnd.Row() + nRowOffset );
+ rRange.aStart.SetRow( rRange.aStart.Row() + nRowOffset );
+ rRange.aEnd.SetRow( rRange.aEnd.Row() + nRowOffset );
}
}
@@ -1891,7 +1891,7 @@ ScVbaRange::Offset( const ::uno::Any &nRowOff, const uno::Any &nColOff )
return new ScVbaRange( mxParent, mxContext, xRanges );
}
// normal range
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange );
}
@@ -2007,7 +2007,7 @@ ScVbaRange::setFormulaArray(const uno::Any& rFormula)
ScTokenArray aTokenArray;
(void)ScTokenConversion::ConvertToTokenArray( getScDocument(), aTokenArray, aTokens );
- getScDocShell()->GetDocFunc().EnterMatrix( *getScRangeList()[0], nullptr, &aTokenArray, OUString(), true, true, EMPTY_OUSTRING, formula::FormulaGrammar::GRAM_API );
+ getScDocShell()->GetDocFunc().EnterMatrix( getScRangeList()[0], nullptr, &aTokenArray, OUString(), true, true, EMPTY_OUSTRING, formula::FormulaGrammar::GRAM_API );
}
OUString
@@ -2352,7 +2352,7 @@ ScVbaRange::Rows(const uno::Any& aIndex )
ScCellRangesBase* pUnoRangesBase = getCellRangesBase();
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScRange aRange = *aCellRanges.front();
+ ScRange aRange = aCellRanges.front();
if( aIndex >>= nValue )
{
aRange.aStart.SetRow( aRange.aStart.Row() + --nValue );
@@ -2392,7 +2392,7 @@ ScVbaRange::Columns(const uno::Any& aIndex )
ScCellRangesBase* pUnoRangesBase = getCellRangesBase();
ScRangeList aCellRanges = pUnoRangesBase->GetRangeList();
- ScRange aRange = *aCellRanges.front();
+ ScRange aRange = aCellRanges.front();
if ( aIndex.hasValue() )
{
sal_Int32 nValue = 0;
@@ -2882,16 +2882,16 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn )
for ( size_t i = 0, nRanges = aCellRanges.size(); i < nRanges; ++i )
{
- ScRange* pRange = aCellRanges[ i ];
+ ScRange & rRange = aCellRanges[ i ];
if ( bColumn )
{
- pRange->aStart.SetRow( 0 );
- pRange->aEnd.SetRow( MAXROW );
+ rRange.aStart.SetRow( 0 );
+ rRange.aEnd.SetRow( MAXROW );
}
else
{
- pRange->aStart.SetCol( 0 );
- pRange->aEnd.SetCol( MAXCOL );
+ rRange.aStart.SetCol( 0 );
+ rRange.aEnd.SetCol( MAXCOL );
}
}
if ( aCellRanges.size() > 1 ) // Multi-Area
@@ -2900,7 +2900,7 @@ ScVbaRange::getEntireColumnOrRow( bool bColumn )
return new ScVbaRange( mxParent, mxContext, xRanges, !bColumn, bColumn );
}
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( pUnoRangesBase->GetDocShell(), aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange, !bColumn, bColumn );
}
@@ -5416,12 +5416,12 @@ ScVbaRange::SpecialCells( const uno::Any& _oType, const uno::Any& _oValue)
{
ScRange refRange;
ScUnoConversion::FillScRange( refRange, *it );
- aCellRanges.Append( refRange );
+ aCellRanges.push_back( refRange );
}
// Single range
if ( aCellRanges.size() == 1 )
{
- uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), *aCellRanges.front() ) );
+ uno::Reference< table::XCellRange > xRange( new ScCellRangeObj( getScDocShell(), aCellRanges.front() ) );
return new ScVbaRange( mxParent, mxContext, xRange );
}
uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( getScDocShell(), aCellRanges ) );
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx
index 0608924fcdde..daf883084096 100644
--- a/sc/source/ui/view/cellsh.cxx
+++ b/sc/source/ui/view/cellsh.cxx
@@ -1109,7 +1109,7 @@ void ScCellShell::GetState(SfxItemSet &rSet)
if (pDoc->HasTabNotes( rTab ))
{
bHasNotes = true;
- aRanges.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
+ aRanges.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
}
}
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index e92e560d99d2..93779d60752b 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -1978,8 +1978,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAddress aPos(pData->GetCurX(), pData->GetCurY(), pData->GetTabNo());
if(aRangeList.empty())
{
- ScRange* pRange = new ScRange(aPos);
- aRangeList.push_back(pRange);
+ aRangeList.push_back(ScRange(aPos));
}
const ScConditionalFormat* pCondFormat = nullptr;
@@ -2290,12 +2289,12 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
for ( size_t i = 0; i < nRangeSize; ++i )
{
- const ScRange * pRange = aRanges[i];
- const SCROW nRow0 = pRange->aStart.Row();
- const SCROW nRow1 = pRange->aEnd.Row();
- const SCCOL nCol0 = pRange->aStart.Col();
- const SCCOL nCol1 = pRange->aEnd.Col();
- const SCTAB nRangeTab = pRange->aStart.Tab();
+ const ScRange & rRange = aRanges[i];
+ const SCROW nRow0 = rRange.aStart.Row();
+ const SCROW nRow1 = rRange.aEnd.Row();
+ const SCCOL nCol0 = rRange.aStart.Col();
+ const SCCOL nCol1 = rRange.aEnd.Col();
+ const SCTAB nRangeTab = rRange.aStart.Tab();
// Check by each cell
for ( SCROW nRow = nRow0; nRow <= nRow1; ++nRow )
{
@@ -2362,7 +2361,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
std::vector<sc::NoteEntry> aNotes;
for (auto const& rTab : rMark.GetSelectedTabs())
- aRanges.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
+ aRanges.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
CommentCaptionState eState = pDoc->GetAllNoteCaptionsState( aRanges );
pDoc->GetNotesInRange(aRanges, aNotes);
@@ -2416,7 +2415,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
for (auto const& rTab : rMark.GetSelectedTabs())
{
- aRangeList.Append(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
+ aRangeList.push_back(ScRange(0,0,rTab,MAXCOL,MAXROW,rTab));
}
aNewMark.MarkFromRangeList( aRangeList, true );
diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx
index 4eead7dee2f3..f3cd331e94e3 100644
--- a/sc/source/ui/view/cliputil.cxx
+++ b/sc/source/ui/view/cliputil.cxx
@@ -100,7 +100,7 @@ bool ScClipUtil::CheckDestRanges(
{
for (size_t i = 0, n = rDest.size(); i < n; ++i)
{
- ScRange aTest = *rDest[i];
+ ScRange aTest = rDest[i];
// Check for filtered rows in all selected sheets.
ScMarkData::const_iterator itrTab = rMark.begin(), itrTabEnd = rMark.end();
for (; itrTab != itrTabEnd; ++itrTab)
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx
index dd81e409baca..38b6d6a54fb0 100644
--- a/sc/source/ui/view/dbfunc3.cxx
+++ b/sc/source/ui/view/dbfunc3.cxx
@@ -713,12 +713,12 @@ void ScDBFunc::GetSelectedMemberList(ScDPUniqueStringSet& rEntries, long& rDimen
for (size_t nRangePos=0; nRangePos < nRangeCount && bContinue; nRangePos++)
{
- ScRange aRange = *(*xRanges)[nRangePos];
- SCCOL nStartCol = aRange.aStart.Col();
- SCROW nStartRow = aRange.aStart.Row();
- SCCOL nEndCol = aRange.aEnd.Col();
- SCROW nEndRow = aRange.aEnd.Row();
- SCTAB nTab = aRange.aStart.Tab();
+ ScRange const & rRange = (*xRanges)[nRangePos];
+ SCCOL nStartCol = rRange.aStart.Col();
+ SCROW nStartRow = rRange.aStart.Row();
+ SCCOL nEndCol = rRange.aEnd.Col();
+ SCROW nEndRow = rRange.aEnd.Row();
+ SCTAB nTab = rRange.aStart.Tab();
for (SCROW nRow=nStartRow; nRow<=nEndRow && bContinue; nRow++)
for (SCCOL nCol=nStartCol; nCol<=nEndCol && bContinue; nCol++)
diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx
index bee41f56eee0..2571d95f6bfe 100644
--- a/sc/source/ui/view/drawvie4.cxx
+++ b/sc/source/ui/view/drawvie4.cxx
@@ -258,7 +258,7 @@ void getOleSourceRanges(const SdrMarkList& rMarkList, bool& rAnyOle, bool& rOneO
if (aRange.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID)
{
for(size_t i = 0; i < aRange.size(); ++i)
- pRanges->push_back(*aRange[i]);
+ pRanges->push_back(aRange[i]);
}
else if (aAddr.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID)
pRanges->push_back(aAddr);
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 4795290aa909..edca231aee27 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5270,7 +5270,7 @@ bool ScGridWindow::HasScenarioButton( const Point& rPosPixel, ScRange& rScenRang
size_t nRangeCount = aRanges.size();
for (size_t j=0; j< nRangeCount; ++j)
{
- ScRange aRange = *aRanges[j];
+ ScRange aRange = aRanges[j];
// Always extend scenario frame to merged cells where no new non-covered cells
// are framed
pDoc->ExtendTotalMerge( aRange );
@@ -5704,14 +5704,14 @@ void ScGridWindow::UpdateCopySourceOverlay()
mpOOSelectionBorder.reset(new sdr::overlay::OverlayObjectList);
for ( size_t i = 0; i < rClipParam.maRanges.size(); ++i )
{
- ScRange* p = rClipParam.maRanges[i];
- if (p->aStart.Tab() != nCurTab)
+ ScRange const & r = rClipParam.maRanges[i];
+ if (r.aStart.Tab() != nCurTab)
continue;
- SCCOL nClipStartX = p->aStart.Col();
- SCROW nClipStartY = p->aStart.Row();
- SCCOL nClipEndX = p->aEnd.Col();
- SCROW nClipEndY = p->aEnd.Row();
+ SCCOL nClipStartX = r.aStart.Col();
+ SCROW nClipStartY = r.aStart.Row();
+ SCCOL nClipEndX = r.aEnd.Col();
+ SCROW nClipEndY = r.aEnd.Row();
Point aClipStartScrPos = pViewData->GetScrPos( nClipStartX, nClipStartY, eWhich );
Point aClipEndScrPos = pViewData->GetScrPos( nClipEndX + 1, nClipEndY + 1, eWhich );
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 81f9bf233f01..cd20ed0c493f 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -206,7 +206,7 @@ static void lcl_DrawScenarioFrames( OutputDevice* pDev, ScViewData* pViewData, S
for (size_t j = 0, n = xRanges->size(); j < n; ++j)
{
- ScRange aRange = *(*xRanges)[j];
+ ScRange aRange = (*xRanges)[j];
// Always extend scenario frame to merged cells where no new non-covered cells
// are framed
pDoc->ExtendTotalMerge( aRange );
diff --git a/sc/source/ui/view/gridwin_dbgutil.cxx b/sc/source/ui/view/gridwin_dbgutil.cxx
index e6cd83a73a84..f4ff902cf9ac 100644
--- a/sc/source/ui/view/gridwin_dbgutil.cxx
+++ b/sc/source/ui/view/gridwin_dbgutil.cxx
@@ -100,13 +100,11 @@ void ScGridWindow::dumpCellProperties()
for (size_t i = 0, n = aList.size(); i < n; ++i)
{
- ScRange* pRange = aList[i];
- if (!pRange)
- continue;
+ ScRange const & rRange = aList[i];
- for (SCCOL nCol = pRange->aStart.Col(); nCol <= pRange->aEnd.Col(); ++nCol)
+ for (SCCOL nCol = rRange.aStart.Col(); nCol <= rRange.aEnd.Col(); ++nCol)
{
- for (SCROW nRow = pRange->aStart.Row(); nRow <= pRange->aEnd.Row(); ++nRow)
+ for (SCROW nRow = rRange.aStart.Row(); nRow <= rRange.aEnd.Row(); ++nRow)
{
const ScPatternAttr* pPatternAttr = pDoc->GetPattern(nCol, nRow, nTab);
xmlTextWriterStartElement(writer, BAD_CAST("cell"));
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index a789e66086b8..41bd76e976ad 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2488,11 +2488,11 @@ void ScTabView::DoChartSelection(
size_t nListSize = aRangeList.size();
for ( size_t j = 0; j < nListSize; ++j )
{
- ScRange* p = aRangeList[j];
+ ScRange const & r = aRangeList[j];
if( rHighlightedRange.Index == - 1 )
- AddHighlightRange( *p, aSelColor );
+ AddHighlightRange( r, aSelColor );
else
- AddHighlightRange( lcl_getSubRangeByIndex( *p, rHighlightedRange.Index ), aSelColor );
+ AddHighlightRange( lcl_getSubRangeByIndex( r, rHighlightedRange.Index ), aSelColor );
}
}
}
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index f7503752280d..46fe3f1629c2 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -614,24 +614,21 @@ bool ScTabViewShell::UseSubTotal(ScRangeList* pRangeList)
size_t nRangeIndex (0);
while (!bSubTotal && nRangeIndex < nRangeCount)
{
- const ScRange* pRange = (*pRangeList)[nRangeIndex];
- if( pRange )
- {
- SCTAB nTabEnd(pRange->aEnd.Tab());
- SCTAB nTab(pRange->aStart.Tab());
- while (!bSubTotal && nTab <= nTabEnd)
+ const ScRange& rRange = (*pRangeList)[nRangeIndex];
+ SCTAB nTabEnd(rRange.aEnd.Tab());
+ SCTAB nTab(rRange.aStart.Tab());
+ while (!bSubTotal && nTab <= nTabEnd)
+ {
+ SCROW nRowEnd(rRange.aEnd.Row());
+ SCROW nRow(rRange.aStart.Row());
+ while (!bSubTotal && nRow <= nRowEnd)
{
- SCROW nRowEnd(pRange->aEnd.Row());
- SCROW nRow(pRange->aStart.Row());
- while (!bSubTotal && nRow <= nRowEnd)
- {
- if (pDoc->RowFiltered(nRow, nTab))
- bSubTotal = true;
- else
- ++nRow;
- }
- ++nTab;
+ if (pDoc->RowFiltered(nRow, nTab))
+ bSubTotal = true;
+ else
+ ++nRow;
}
+ ++nTab;
}
++nRangeIndex;
}
@@ -647,14 +644,11 @@ bool ScTabViewShell::UseSubTotal(ScRangeList* pRangeList)
nRangeIndex = 0;
while (!bSubTotal && nRangeIndex < nRangeCount)
{
- const ScRange* pRange = (*pRangeList)[nRangeIndex];
- if( pRange )
- {
- ScRange aDBArea;
- rDB.GetArea(aDBArea);
- if (aDBArea.Intersects(*pRange))
- bSubTotal = true;
- }
+ const ScRange & rRange = (*pRangeList)[nRangeIndex];
+ ScRange aDBArea;
+ rDB.GetArea(aDBArea);
+ if (aDBArea.Intersects(rRange))
+ bSubTotal = true;
++nRangeIndex;
}
}
@@ -677,10 +671,10 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal)
const size_t nCount = aMarkRangeList.size();
for ( size_t i = 0; i < nCount; ++i )
{
- const ScRange aRange( *aMarkRangeList[i] );
- if ( pDoc->IsBlockEmpty( aRange.aStart.Tab(),
- aRange.aStart.Col(), aRange.aStart.Row(),
- aRange.aEnd.Col(), aRange.aEnd.Row() ) )
+ const ScRange & rRange( aMarkRangeList[i] );
+ if ( pDoc->IsBlockEmpty( rRange.aStart.Tab(),
+ rRange.aStart.Col(), rRange.aStart.Row(),
+ rRange.aEnd.Col(), rRange.aEnd.Row() ) )
{
bEmpty = true;
break;
@@ -693,7 +687,7 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal)
const bool bDataFound = GetAutoSumArea( aRangeList );
if ( bDataFound )
{
- ScAddress aAddr = aRangeList.back()->aEnd;
+ ScAddress aAddr = aRangeList.back().aEnd;
aAddr.IncRow();
const bool bSubTotal( UseSubTotal( &aRangeList ) );
EnterAutoSum( aRangeList, bSubTotal, aAddr );
@@ -704,15 +698,15 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal)
const bool bSubTotal( UseSubTotal( &aMarkRangeList ) );
for ( size_t i = 0; i < nCount; ++i )
{
- const ScRange aRange( *aMarkRangeList[i] );
+ const ScRange & rRange = aMarkRangeList[i];
const bool bSetCursor = ( i == nCount - 1 );
const bool bContinue = ( i != 0 );
- if ( !AutoSum( aRange, bSubTotal, bSetCursor, bContinue ) )
+ if ( !AutoSum( rRange, bSubTotal, bSetCursor, bContinue ) )
{
- MarkRange( aRange, false );
- SetCursor( aRange.aEnd.Col(), aRange.aEnd.Row() );
+ MarkRange( rRange, false );
+ SetCursor( rRange.aEnd.Col(), rRange.aEnd.Row() );
const ScRangeList aRangeList;
- ScAddress aAddr = aRange.aEnd;
+ ScAddress aAddr = rRange.aEnd;
aAddr.IncRow();
aFormula = GetAutoSumFormula( aRangeList, bSubTotal, aAddr );
break;
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 1b7bdb769d87..89845c071971 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1188,8 +1188,7 @@ void ScViewData::GetMultiArea( ScRangeListRef& rRange ) const
{
ScRange aSimple;
GetSimpleArea(aSimple);
- rRange = new ScRangeList;
- rRange->Append(aSimple);
+ rRange = new ScRangeList(aSimple);
}
}
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 2727e0b7f733..e572964ec1b8 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -330,7 +330,7 @@ static ScAutoSum lcl_GetAutoSumForColumnRange( ScDocument* pDoc, ScRangeList& rR
bool bContinue = false;
do
{
- rRangeList.Append( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) );
+ rRangeList.push_back( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) );
nEndRow = static_cast< SCROW >( nExtend );
bContinue = lcl_FindNextSumEntryInColumn( pDoc, nCol, nEndRow /*inout*/, nTab, nExtend /*out*/, aStart.Row() );
if ( bContinue )
@@ -346,7 +346,7 @@ static ScAutoSum lcl_GetAutoSumForColumnRange( ScDocument* pDoc, ScRangeList& rR
{
--nStartRow;
}
- rRangeList.Append( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) );
+ rRangeList.push_back( ScRange( nCol, nStartRow, nTab, nCol, nEndRow, nTab ) );
if (eSum == ScAutoSumNone)
eSum = ScAutoSumData;
}
@@ -375,7 +375,7 @@ static ScAutoSum lcl_GetAutoSumForRowRange( ScDocument* pDoc, ScRangeList& rRang
bool bContinue = false;
do
{
- rRangeList.Append( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) );
+ rRangeList.push_back( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) );
nEndCol = static_cast< SCCOL >( nExtend );
bContinue = lcl_FindNextSumEntryInRow( pDoc, nEndCol /*inout*/, nRow, nTab, nExtend /*out*/, aStart.Col() );
if ( bContinue )
@@ -391,7 +391,7 @@ static ScAutoSum lcl_GetAutoSumForRowRange( ScDocument* pDoc, ScRangeList& rRang
{
--nStartCol;
}
- rRangeList.Append( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) );
+ rRangeList.push_back( ScRange( nStartCol, nRow, nTab, nEndCol, nRow, nTab ) );
if (eSum == ScAutoSumNone)
eSum = ScAutoSumData;
}
@@ -476,7 +476,7 @@ bool ScViewFunc::GetAutoSumArea( ScRangeList& rRangeList )
--nStartCol;
}
}
- rRangeList.Append(
+ rRangeList.push_back(
ScRange( nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab ) );
if ( eSum == ScAutoSumSum )
{
@@ -665,7 +665,7 @@ bool ScViewFunc::AutoSum( const ScRange& rRange, bool bSubTotal, bool bSetCursor
if ( (eSum = lcl_GetAutoSumForColumnRange( pDoc, aRangeList, aRange )) != ScAutoSumNone )
{
if (++nRowSums == 1)
- nRowSumsStartCol = aRangeList[0]->aStart.Col();
+ nRowSumsStartCol = aRangeList[0].aStart.Col();
const OUString aFormula = GetAutoSumFormula(
aRangeList, bSubTotal, ScAddress(nCol, nInsRow, nTab));
EnterData( nCol, nInsRow, nTab, aFormula );
@@ -702,7 +702,7 @@ bool ScViewFunc::AutoSum( const ScRange& rRange, bool bSubTotal, bool bSetCursor
if ( (eSum = lcl_GetAutoSumForRowRange( pDoc, aRangeList, aRange )) != ScAutoSumNone )
{
if (++nColSums == 1)
- nColSumsStartRow = aRangeList[0]->aStart.Row();
+ nColSumsStartRow = aRangeList[0].aStart.Row();
const OUString aFormula = GetAutoSumFormula( aRangeList, bSubTotal, ScAddress(nInsCol, nRow, nTab) );
EnterData( nInsCol, nRow, nTab, aFormula );
}
@@ -749,15 +749,14 @@ OUString ScViewFunc::GetAutoSumFormula( const ScRangeList& rRangeList, bool bSub
if(!rRangeList.empty())
{
ScRangeList aRangeList = rRangeList;
- const ScRange* pFirst = aRangeList.front();
size_t ListSize = aRangeList.size();
- for ( size_t i = 0; i < ListSize; ++i )
+ for ( size_t i = 1; i < ListSize; ++i )
{
- const ScRange* p = aRangeList[i];
- if (p != pFirst)
+ const ScRange & r = aRangeList[i];
+ if (i != 0)
pArray->AddOpCode(ocSep);
ScComplexRefData aRef;
- aRef.InitRangeRel(*p, rAddr);
+ aRef.InitRangeRel(r, rAddr);
pArray->AddDoubleReference(aRef);
}
}
@@ -996,8 +995,8 @@ void ScViewFunc::SetPrintRanges( bool bEntireSheet, const OUString* pPrint,
rMark.FillRangeListWithMarks( pList.get(), false );
for (size_t i = 0, n = pList->size(); i < n; ++i)
{
- ScRange* pR = (*pList)[i];
- rDoc.AddPrintRange(nTab, *pR);
+ const ScRange & rR = (*pList)[i];
+ rDoc.AddPrintRange(nTab, rR);
}
}
}
@@ -1391,7 +1390,7 @@ void ScViewFunc::FillAuto( FillDir eDir, SCCOL nStartCol, SCROW nStartRow,
default:
break;
}
- aChangeRanges.Append( aChangeRange );
+ aChangeRanges.push_back( aChangeRange );
HelperNotifyChanges::Notify(*pModelObj, aChangeRanges);
}
}
@@ -1863,7 +1862,7 @@ bool ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem,
rMark.ResetMark();
for (size_t i = 0, n = aMatchedRanges.size(); i < n; ++i)
{
- const ScRange& r = *aMatchedRanges[i];
+ const ScRange& r = aMatchedRanges[i];
if (r.aStart.Tab() == nTab)
rMark.SetMultiMarkArea(r);
}
@@ -2762,7 +2761,7 @@ void ScViewFunc::MoveTable(
break; // for
}
ScRange aRange( 0, 0, TheTabs[j], MAXCOL, MAXROW, TheTabs[j] );
- aParam.maRanges.Append(aRange);
+ aParam.maRanges.push_back(aRange);
}
pDoc->SetClipParam(aParam);
if ( nErrVal > 0 )
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index 3afb0f466a32..7d6efcf45b3d 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -161,8 +161,7 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, bool bCut, bool bApi, bool bI
if ( eMarkType == SC_MARK_SIMPLE || eMarkType == SC_MARK_SIMPLE_FILTERED )
{
- ScRangeList aRangeList;
- aRangeList.Append( aRange );
+ ScRangeList aRangeList( aRange );
bDone = CopyToClip( pClipDoc, aRangeList, bCut, bApi, bIncludeObjects, bStopEdit );
}
else if (eMarkType == SC_MARK_MULTI)
@@ -190,7 +189,7 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b
if ( bStopEdit )
UpdateInputLine();
- ScRange aRange = *rRanges[0];
+ ScRange aRange = rRanges[0];
ScClipParam aClipParam( aRange, bCut );
aClipParam.maRanges = rRanges;
@@ -304,26 +303,26 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b
// Check for geometrical feasibility of the ranges.
bool bValidRanges = true;
- ScRange* p = aClipParam.maRanges.front();
+ ScRange & r = aClipParam.maRanges.front();
SCCOL nPrevColDelta = 0;
SCROW nPrevRowDelta = 0;
- SCCOL nPrevCol = p->aStart.Col();
- SCROW nPrevRow = p->aStart.Row();
- SCCOL nPrevColSize = p->aEnd.Col() - p->aStart.Col() + 1;
- SCROW nPrevRowSize = p->aEnd.Row() - p->aStart.Row() + 1;
+ SCCOL nPrevCol = r.aStart.Col();
+ SCROW nPrevRow = r.aStart.Row();
+ SCCOL nPrevColSize = r.aEnd.Col() - r.aStart.Col() + 1;
+ SCROW nPrevRowSize = r.aEnd.Row() - r.aStart.Row() + 1;
for ( size_t i = 1; i < aClipParam.maRanges.size(); ++i )
{
- p = aClipParam.maRanges[i];
+ r = aClipParam.maRanges[i];
if ( pDoc->HasSelectedBlockMatrixFragment(
- p->aStart.Col(), p->aStart.Row(), p->aEnd.Col(), p->aEnd.Row(), rMark) )
+ r.aStart.Col(), r.aStart.Row(), r.aEnd.Col(), r.aEnd.Row(), rMark) )
{
if (!bApi)
ErrorMessage(STR_MATRIXFRAGMENTERR);
return false;
}
- SCCOL nColDelta = p->aStart.Col() - nPrevCol;
- SCROW nRowDelta = p->aStart.Row() - nPrevRow;
+ SCCOL nColDelta = r.aStart.Col() - nPrevCol;
+ SCROW nRowDelta = r.aStart.Row() - nPrevRow;
if ((nColDelta && nRowDelta) || (nPrevColDelta && nRowDelta) || (nPrevRowDelta && nColDelta))
{
@@ -339,8 +338,8 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b
aClipParam.meDirection = ScClipParam::Row;
}
- SCCOL nColSize = p->aEnd.Col() - p->aStart.Col() + 1;
- SCROW nRowSize = p->aEnd.Row() - p->aStart.Row() + 1;
+ SCCOL nColSize = r.aEnd.Col() - r.aStart.Col() + 1;
+ SCROW nRowSize = r.aEnd.Row() - r.aStart.Row() + 1;
if (aClipParam.meDirection == ScClipParam::Column && nRowSize != nPrevRowSize)
{
@@ -356,8 +355,8 @@ bool ScViewFunc::CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRanges, b
break;
}
- nPrevCol = p->aStart.Col();
- nPrevRow = p->aStart.Row();
+ nPrevCol = r.aStart.Col();
+ nPrevRow = r.aStart.Row();
nPrevColDelta = nColDelta;
nPrevRowDelta = nRowDelta;
nPrevColSize = nColSize;
@@ -831,7 +830,7 @@ bool checkDestRangeForOverwrite(const ScRangeList& rDestRanges, const ScDocument
{
for (size_t i = 0; i < nRangeSize && bIsEmpty; ++i)
{
- const ScRange& rRange = *rDestRanges[i];
+ const ScRange& rRange = rDestRanges[i];
bIsEmpty = pDoc->IsBlockEmpty(
*itrTab, rRange.aStart.Col(), rRange.aStart.Row(),
rRange.aEnd.Col(), rRange.aEnd.Row());
@@ -1018,8 +1017,8 @@ bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc,
size_t ListSize = aRangeList.size();
for ( size_t i = 0; i < ListSize; ++i )
{
- ScRange* p = aRangeList[i];
- nUnfilteredRows += p->aEnd.Row() - p->aStart.Row() + 1;
+ ScRange & r = aRangeList[i];
+ nUnfilteredRows += r.aEnd.Row() - r.aStart.Row() + 1;
}
#if 0
/* This isn't needed but could be a desired restriction. */
@@ -1141,8 +1140,7 @@ bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc,
SC_MOD()->GetInputOptions().GetReplaceCellsWarn();
if ( bAskIfNotEmpty )
{
- ScRangeList aTestRanges;
- aTestRanges.Append(aUserRange);
+ ScRangeList aTestRanges(aUserRange);
vcl::Window* pWin = GetViewData().GetDialogParent();
if (!checkDestRangeForOverwrite(aTestRanges, pDoc, aFilteredMark, pWin ? pWin->GetFrameWeld() : nullptr))
return false;
@@ -1510,8 +1508,7 @@ bool ScViewFunc::PasteMultiRangesFromClip(
if (bAskIfNotEmpty)
{
- ScRangeList aTestRanges;
- aTestRanges.Append(aMarkedRange);
+ ScRangeList aTestRanges(aMarkedRange);
vcl::Window* pWin = GetViewData().GetDialogParent();
if (!checkDestRangeForOverwrite(aTestRanges, pDoc, aMark, pWin ? pWin->GetFrameWeld() : nullptr))
return false;
@@ -1688,7 +1685,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges(
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
pDoc->CopyToDocument(
- *aRanges[i], nUndoFlags, false, *pUndoDoc, &aMark);
+ aRanges[i], nUndoFlags, false, *pUndoDoc, &aMark);
}
}
@@ -1702,7 +1699,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges(
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
pDoc->CopyToDocument(
- *aRanges[i], InsertDeleteFlags::CONTENTS, false, *pMixDoc, &aMark);
+ aRanges[i], InsertDeleteFlags::CONTENTS, false, *pMixDoc, &aMark);
}
}
}
@@ -1716,14 +1713,14 @@ bool ScViewFunc::PasteFromClipToMultiRanges(
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
pDoc->CopyFromClip(
- *aRanges[i], aMark, (nFlags & ~InsertDeleteFlags::OBJECTS), nullptr, pClipDoc,
+ aRanges[i], aMark, (nFlags & ~InsertDeleteFlags::OBJECTS), nullptr, pClipDoc,
false, false, true, bSkipEmpty);
}
if (pMixDoc.get())
{
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
- pDoc->MixDocument(*aRanges[i], nFunction, bSkipEmpty, pMixDoc.get());
+ pDoc->MixDocument(aRanges[i], nFunction, bSkipEmpty, pMixDoc.get());
}
AdjustBlockHeight(); // update row heights before pasting objects
@@ -1734,7 +1731,7 @@ bool ScViewFunc::PasteFromClipToMultiRanges(
for (size_t i = 0, n = aRanges.size(); i < n; ++i)
{
pDoc->CopyFromClip(
- *aRanges[i], aMark, InsertDeleteFlags::OBJECTS, nullptr, pClipDoc,
+ aRanges[i], aMark, InsertDeleteFlags::OBJECTS, nullptr, pClipDoc,
false, false, true, bSkipEmpty);
}
}
@@ -1790,14 +1787,14 @@ void ScViewFunc::PostPasteFromClip(const ScRangeList& rPasteRanges, const ScMark
ScRangeList aChangeRanges;
for (size_t i = 0, n = rPasteRanges.size(); i < n; ++i)
{
- const ScRange& r = *rPasteRanges[i];
+ const ScRange& r = rPasteRanges[i];
ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end();
for (; itr != itrEnd; ++itr)
{
ScRange aChangeRange(r);
aChangeRange.aStart.SetTab(*itr);
aChangeRange.aEnd.SetTab(*itr);
- aChangeRanges.Append(aChangeRange);
+ aChangeRanges.push_back(aChangeRange);
}
}
HelperNotifyChanges::Notify(*pModelObj, aChangeRanges);
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index 78bdd8eb7cc2..498da899c3b7 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -239,7 +239,7 @@ void ScViewFunc::DoRefConversion()
SCTAB i = *itr;
for (size_t j = 0; j < nCount; ++j)
{
- ScRange aRange = *(*xRanges)[j];
+ ScRange aRange = (*xRanges)[j];
aRange.aStart.SetTab(i);
aRange.aEnd.SetTab(i);
ScCellIterator aIter( pDoc, aRange );
diff --git a/sc/source/ui/view/viewfun6.cxx b/sc/source/ui/view/viewfun6.cxx
index 6e13f26e27e7..ffe5035fe97b 100644
--- a/sc/source/ui/view/viewfun6.cxx
+++ b/sc/source/ui/view/viewfun6.cxx
@@ -128,25 +128,24 @@ void ScViewFunc::MarkAndJumpToRanges(const ScRangeList& rRanges)
size_t ListSize = aRanges.size();
for ( size_t i = 0; i < ListSize; ++i )
{
- const ScRange* p = aRanges[i];
+ const ScRange & r = aRanges[i];
// Collect only those ranges that are on the same sheet as the current
// cursor.
- if (p->aStart.Tab() == aCurPos.Tab())
- aRangesToMark.Append(*p);
+ if (r.aStart.Tab() == aCurPos.Tab())
+ aRangesToMark.push_back(r);
}
if (aRangesToMark.empty())
return;
// Jump to the first range of all precedent ranges.
- const ScRange* p = aRangesToMark.front();
- lcl_jumpToRange(*p, &rView, &pDocSh->GetDocument());
+ const ScRange & r = aRangesToMark.front();
+ lcl_jumpToRange(r, &rView, &pDocSh->GetDocument());
ListSize = aRangesToMark.size();
for ( size_t i = 0; i < ListSize; ++i )
{
- p = aRangesToMark[i];
- MarkRange(*p, false, true);
+ MarkRange(aRangesToMark[i], false, true);
}
}
@@ -161,7 +160,7 @@ void ScViewFunc::DetectiveMarkPred()
if (rMarkData.IsMarked() || rMarkData.IsMultiMarked())
rMarkData.FillRangeListWithMarks(&aRanges, false);
else
- aRanges.Append(aCurPos);
+ aRanges.push_back(aCurPos);
vector<ScTokenRef> aRefTokens;
pDocSh->GetDocFunc().DetectiveCollectAllPreds(aRanges, aRefTokens);
@@ -225,7 +224,7 @@ void ScViewFunc::DetectiveMarkSucc()
if (rMarkData.IsMarked() || rMarkData.IsMultiMarked())
rMarkData.FillRangeListWithMarks(&aRanges, false);
else
- aRanges.Append(aCurPos);
+ aRanges.push_back(aCurPos);
vector<ScTokenRef> aRefTokens;
pDocSh->GetDocFunc().DetectiveCollectAllSuccs(aRanges, aRefTokens);
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index bd21e085d265..8e516e358593 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -324,7 +324,7 @@ namespace HelperNotifyChanges
ScRangeList aChangeRanges;
ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end();
for (; itr != itrEnd; ++itr)
- aChangeRanges.Append( ScRange( nCol, nRow, *itr ) );
+ aChangeRanges.push_back( ScRange( nCol, nRow, *itr ) );
HelperNotifyChanges::Notify(*pModelObj, aChangeRanges, "cell-change");
}
@@ -1162,7 +1162,7 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor
ScRange aChangeRange( aMarkRange );
aChangeRange.aStart.SetTab( *itr );
aChangeRange.aEnd.SetTab( *itr );
- aChangeRanges.Append( aChangeRange );
+ aChangeRanges.push_back( aChangeRange );
}
SCCOL nStartCol = aMarkRange.aStart.Col();
@@ -1225,7 +1225,7 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor
pNewEditData = pEditObj->Clone();
}
- aChangeRanges.Append(aPos);
+ aChangeRanges.push_back(aPos);
std::unique_ptr<ScPatternAttr> pOldPat(new ScPatternAttr(*rDoc.GetPattern( nCol, nRow, nTab )));
rDoc.ApplyPattern( nCol, nRow, nTab, rAttr );
@@ -1965,7 +1965,7 @@ void ScViewFunc::DeleteContents( InsertDeleteFlags nFlags )
ScRangeList aChangeRanges;
if ( bSimple )
{
- aChangeRanges.Append( aMarkRange );
+ aChangeRanges.push_back( aMarkRange );
}
else
{
@@ -2291,7 +2291,7 @@ void ScViewFunc::SetWidthOrHeight(
SCCOL nEndCol = rRange.mnEnd;
for ( SCCOL nCol = nStartCol; nCol <= nEndCol; ++nCol )
{
- aChangeRanges.Append( ScRange( nCol, 0, nTab ) );
+ aChangeRanges.push_back( ScRange( nCol, 0, nTab ) );
}
}
}