sc/inc/attarray.hxx | 6 - sc/inc/column.hxx | 166 +++++++++++++++++++++++++++++++++++++++- sc/source/core/data/column.cxx | 111 -------------------------- sc/source/core/data/column2.cxx | 68 ---------------- sc/source/core/data/column4.cxx | 5 - sc/source/core/data/table1.cxx | 8 - 6 files changed, 172 insertions(+), 192 deletions(-)
New commits: commit 16b4525e8770ca457c8b33f08c5f9ef5f35ef62e Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri Mar 4 18:27:13 2022 +0100 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Sat Mar 5 08:30:45 2022 +0100 remove more hardcoded MAXROW Change-Id: Ica57f18d3fd1bf9ec06f05869f4a956d7d1097b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131036 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/sc/inc/attarray.hxx b/sc/inc/attarray.hxx index 52c2793c3f3c..f55a4ee8206e 100644 --- a/sc/inc/attarray.hxx +++ b/sc/inc/attarray.hxx @@ -21,6 +21,7 @@ #include "global.hxx" #include "attrib.hxx" +#include "document.hxx" #include "patattr.hxx" #include <algorithm> @@ -114,6 +115,7 @@ public: ~ScAttrArray(); ScDocument& GetDoc() { return rDocument; } + const ScDocument& GetDoc() const { return rDocument; } void SetTab(SCTAB nNewTab) { nTab = nNewTab; } void SetCol(SCCOL nNewCol) { nCol = nNewCol; } #if DEBUG_SC_TESTATTRARRAY @@ -266,10 +268,10 @@ inline const ScPatternAttr* ScAttrIterator::Next( SCROW& rTop, SCROW& rBottom ) if ( !nPos ) { ++nPos; - if ( nRow > MAXROW ) + if ( nRow > pArray->GetDoc().MaxRow()) return nullptr; rTop = nRow; - rBottom = std::min( nEndRow, MAXROW ); + rBottom = std::min( nEndRow, pArray->GetDoc().MaxRow()); nRow = rBottom + 1; return pDefPattern; } diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index de69846442ca..1ec4aac4204b 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -281,8 +281,7 @@ public: bool GetFirstVisibleAttr( SCROW& rFirstRow ) const; bool GetLastVisibleAttr( SCROW& rLastRow ) const; bool HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const; - bool IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow = 0, - SCROW nEndRow = MAXROW ) const; + bool IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const; bool IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const; bool TestInsertCol( SCROW nStartRow, SCROW nEndRow) const; diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index 7329b4f455b9..99c673eb5d6a 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -631,7 +631,7 @@ bool ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, bool bNotes, bool bC if (nMaxX == rDocument.MaxCol()) // omit attribute at the right { --nMaxX; - while ( nMaxX>0 && aCol[nMaxX].IsVisibleAttrEqual(aCol[nMaxX+1]) ) + while ( nMaxX>0 && aCol[nMaxX].IsVisibleAttrEqual(aCol[nMaxX+1], 0, rDocument.MaxRow()) ) --nMaxX; } @@ -645,7 +645,7 @@ bool ScTable::GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, bool bNotes, bool bC while ( nAttrStartX < (aCol.size()-1) ) { SCCOL nAttrEndX = nAttrStartX; - while ( nAttrEndX < (aCol.size()-1) && aCol[nAttrStartX].IsVisibleAttrEqual(aCol[nAttrEndX+1]) ) + while ( nAttrEndX < (aCol.size()-1) && aCol[nAttrStartX].IsVisibleAttrEqual(aCol[nAttrEndX+1], 0, rDocument.MaxRow()) ) ++nAttrEndX; if ( nAttrEndX + 1 - nAttrStartX >= SC_COLUMNS_STOP ) { @@ -770,10 +770,10 @@ bool ScTable::GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const if (nMinX == 0) // omit attribute at the right { - if ( aCol.size() > 1 && aCol[0].IsVisibleAttrEqual(aCol[1]) ) // no single ones + if ( aCol.size() > 1 && aCol[0].IsVisibleAttrEqual(aCol[1], 0, rDocument.MaxRow())) // no single ones { ++nMinX; - while ( nMinX<(aCol.size()-1) && aCol[nMinX].IsVisibleAttrEqual(aCol[nMinX-1]) ) + while ( nMinX<(aCol.size()-1) && aCol[nMinX].IsVisibleAttrEqual(aCol[nMinX-1], 0, rDocument.MaxRow())) ++nMinX; } } commit 2e2e30d7ae445509e39ba47c1b248079f28c8d95 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri Mar 4 16:40:20 2022 +0100 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Sat Mar 5 08:30:30 2022 +0100 remove pAttrArray nullptr checks I don't see how it possibly could be nullptr in a correct situation, ScColumn::Init() is called right after creating ScColumn. Also make a bunch of trivial forwarding functions inline. Change-Id: I710d3cd86a660a8b4dcfbb9966a685b657b93c18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131035 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 7eea78900600..de69846442ca 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -813,4 +813,167 @@ private: void SetNeedsListeningGroup( SCROW nRow ); }; +inline bool ScColumn::IsEmptyAttr() const +{ + return pAttrArray->IsEmpty(); +} + +inline bool ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const +{ + return pAttrArray->IsAllEqual( *rCol.pAttrArray, nStartRow, nEndRow ); +} + +inline bool ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const +{ + return pAttrArray->IsVisibleEqual( *rCol.pAttrArray, nStartRow, nEndRow ); +} + +inline bool ScColumn::GetFirstVisibleAttr( SCROW& rFirstRow ) const +{ + return pAttrArray->GetFirstVisibleAttr( rFirstRow ); +} + +inline bool ScColumn::GetLastVisibleAttr( SCROW& rLastRow ) const +{ + // row of last cell is needed + SCROW nLastData = GetLastDataPos(); // always including notes, 0 if none + return pAttrArray->GetLastVisibleAttr( rLastRow, nLastData ); +} + +inline bool ScColumn::HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const +{ + return pAttrArray->HasVisibleAttrIn( nStartRow, nEndRow ); +} + +inline SCSIZE ScColumn::GetPatternCount() const +{ + return pAttrArray ? pAttrArray->Count() : 0; +} + +inline SCSIZE ScColumn::GetPatternCount( SCROW nRow1, SCROW nRow2 ) const +{ + return pAttrArray ? pAttrArray->Count( nRow1, nRow2 ) : 0; +} + +inline bool ScColumn::ReservePatternCount( SCSIZE nReserve ) +{ + return pAttrArray && pAttrArray->Reserve( nReserve ); +} + +inline bool ScColumn::IsMerged( SCROW nRow ) const +{ + return pAttrArray->IsMerged(nRow); +} + +inline SCROW ScColumnData::GetNextUnprotected( SCROW nRow, bool bUp ) const +{ + return pAttrArray->GetNextUnprotected(nRow, bUp); +} + +inline bool ScColumnData::HasAttrib( SCROW nRow1, SCROW nRow2, HasAttrFlags nMask ) const +{ + return pAttrArray->HasAttrib( nRow1, nRow2, nMask ); +} + +inline bool ScColumn::ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow, + SCCOL& rPaintCol, SCROW& rPaintRow, + bool bRefresh ) +{ + return pAttrArray->ExtendMerge( nThisCol, nStartRow, nEndRow, rPaintCol, rPaintRow, bRefresh ); +} + +inline void ScColumnData::MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW nRow2, bool bDeep ) const +{ + pAttrArray->MergePatternArea( nRow1, nRow2, rState, bDeep ); +} + +inline void ScColumn::MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner, + ScLineFlags& rFlags, + SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight ) const +{ + pAttrArray->MergeBlockFrame( pLineOuter, pLineInner, rFlags, nStartRow, nEndRow, bLeft, nDistRight ); +} + +inline void ScColumn::ApplyBlockFrame(const SvxBoxItem& rLineOuter, const SvxBoxInfoItem* pLineInner, + SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight) +{ + pAttrArray->ApplyBlockFrame(rLineOuter, pLineInner, nStartRow, nEndRow, bLeft, nDistRight); +} + +inline const ScPatternAttr* ScColumnData::GetPattern( SCROW nRow ) const +{ + return pAttrArray->GetPattern( nRow ); +} + +inline const SfxPoolItem& ScColumn::GetAttr( SCROW nRow, sal_uInt16 nWhich ) const +{ + return pAttrArray->GetPattern( nRow )->GetItemSet().Get(nWhich); +} + +inline sal_uInt32 ScColumnData::GetNumberFormat( const ScInterpreterContext& rContext, SCROW nRow ) const +{ + return pAttrArray->GetPattern( nRow )->GetNumberFormat( rContext.GetFormatTable() ); +} + +inline void ScColumn::AddCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nIndex ) +{ + pAttrArray->AddCondFormat( nStartRow, nEndRow, nIndex ); +} + +inline void ScColumn::RemoveCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nIndex ) +{ + pAttrArray->RemoveCondFormat( nStartRow, nEndRow, nIndex ); +} + +inline void ScColumnData::ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, const ScStyleSheet& rStyle ) +{ + pAttrArray->ApplyStyleArea(nStartRow, nEndRow, rStyle); +} + +inline const ScStyleSheet* ScColumnData::GetStyle( SCROW nRow ) const +{ + return pAttrArray->GetPattern( nRow )->GetStyleSheet(); +} + +inline void ScColumn::FindStyleSheet( const SfxStyleSheetBase* pStyleSheet, ScFlatBoolRowSegments& rUsedRows, bool bReset ) +{ + pAttrArray->FindStyleSheet( pStyleSheet, rUsedRows, bReset ); +} + +inline bool ScColumn::IsStyleSheetUsed( const ScStyleSheet& rStyle ) const +{ + return pAttrArray->IsStyleSheetUsed( rStyle ); +} + +inline bool ScColumn::ApplyFlags( SCROW nStartRow, SCROW nEndRow, ScMF nFlags ) +{ + return pAttrArray->ApplyFlags( nStartRow, nEndRow, nFlags ); +} + +inline bool ScColumn::RemoveFlags( SCROW nStartRow, SCROW nEndRow, ScMF nFlags ) +{ + return pAttrArray->RemoveFlags( nStartRow, nEndRow, nFlags ); +} + +inline void ScColumn::ClearItems( SCROW nStartRow, SCROW nEndRow, const sal_uInt16* pWhich ) +{ + pAttrArray->ClearItems( nStartRow, nEndRow, pWhich ); +} + +inline const ScPatternAttr* ScColumn::SetPattern( SCROW nRow, std::unique_ptr<ScPatternAttr> pPatAttr ) +{ + return pAttrArray->SetPattern( nRow, std::move(pPatAttr), true/*bPutToPool*/ ); +} + +inline void ScColumn::SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr ) +{ + pAttrArray->SetPattern( nRow, &rPatAttr, true/*bPutToPool*/ ); +} + +inline void ScColumn::SetPatternArea( SCROW nStartRow, SCROW nEndRow, + const ScPatternAttr& rPatAttr ) +{ + pAttrArray->SetPatternArea( nStartRow, nEndRow, &rPatAttr, true/*bPutToPool*/ ); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index 26541603584a..f14ff4aa8bdc 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -107,11 +107,6 @@ void ScColumn::Init(SCCOL nNewCol, SCTAB nNewTab, ScDocument& rDoc, bool bEmptyA InitAttrArray(new ScAttrArray( nCol, nTab, rDoc, &rDoc.maTabs[nTab]->aDefaultColData.AttrArray())); } -SCROW ScColumnData::GetNextUnprotected( SCROW nRow, bool bUp ) const -{ - return pAttrArray->GetNextUnprotected(nRow, bUp); -} - sc::MatrixEdge ScColumn::GetBlockMatrixEdges( SCROW nRow1, SCROW nRow2, sc::MatrixEdge nMask, bool bNoMatrixAtAll ) const { @@ -301,11 +296,6 @@ bool ScColumn::HasSelectionMatrixFragment(const ScMarkData& rMark) const return bOpen; } -bool ScColumnData::HasAttrib( SCROW nRow1, SCROW nRow2, HasAttrFlags nMask ) const -{ - return pAttrArray->HasAttrib( nRow1, nRow2, nMask ); -} - bool ScColumn::HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask ) const { bool bFound = false; @@ -326,13 +316,6 @@ bool ScColumn::HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask ) return bFound; } -bool ScColumn::ExtendMerge( SCCOL nThisCol, SCROW nStartRow, SCROW nEndRow, - SCCOL& rPaintCol, SCROW& rPaintRow, - bool bRefresh ) -{ - return pAttrArray->ExtendMerge( nThisCol, nStartRow, nEndRow, rPaintCol, rPaintRow, bRefresh ); -} - void ScColumn::MergeSelectionPattern( ScMergePatternState& rState, const ScMarkData& rMark, bool bDeep ) const { SCROW nTop; @@ -350,34 +333,6 @@ void ScColumn::MergeSelectionPattern( ScMergePatternState& rState, const ScMarkD } } -void ScColumnData::MergePatternArea( ScMergePatternState& rState, SCROW nRow1, SCROW nRow2, bool bDeep ) const -{ - pAttrArray->MergePatternArea( nRow1, nRow2, rState, bDeep ); -} - -void ScColumn::MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner, - ScLineFlags& rFlags, - SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight ) const -{ - pAttrArray->MergeBlockFrame( pLineOuter, pLineInner, rFlags, nStartRow, nEndRow, bLeft, nDistRight ); -} - -void ScColumn::ApplyBlockFrame(const SvxBoxItem& rLineOuter, const SvxBoxInfoItem* pLineInner, - SCROW nStartRow, SCROW nEndRow, bool bLeft, SCCOL nDistRight) -{ - pAttrArray->ApplyBlockFrame(rLineOuter, pLineInner, nStartRow, nEndRow, bLeft, nDistRight); -} - -const ScPatternAttr* ScColumnData::GetPattern( SCROW nRow ) const -{ - return pAttrArray->GetPattern( nRow ); -} - -const SfxPoolItem& ScColumn::GetAttr( SCROW nRow, sal_uInt16 nWhich ) const -{ - return pAttrArray->GetPattern( nRow )->GetItemSet().Get(nWhich); -} - const ScPatternAttr* ScColumnData::GetMostUsedPattern( SCROW nStartRow, SCROW nEndRow ) const { ::std::map< const ScPatternAttr*, size_t > aAttrMap; @@ -418,11 +373,6 @@ sal_uInt32 ScColumnData::GetNumberFormat( SCROW nStartRow, SCROW nEndRow ) const return nFormat; } -sal_uInt32 ScColumnData::GetNumberFormat( const ScInterpreterContext& rContext, SCROW nRow ) const -{ - return pAttrArray->GetPattern( nRow )->GetNumberFormat( rContext.GetFormatTable() ); -} - SCROW ScColumn::ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray, bool* const pIsChanged ) { @@ -562,16 +512,6 @@ void ScColumn::ApplyPatternIfNumberformatIncompatible( const ScRange& rRange, } } -void ScColumn::AddCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nIndex ) -{ - pAttrArray->AddCondFormat( nStartRow, nEndRow, nIndex ); -} - -void ScColumn::RemoveCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nIndex ) -{ - pAttrArray->RemoveCondFormat( nStartRow, nEndRow, nIndex ); -} - void ScColumn::ApplyStyle( SCROW nRow, const ScStyleSheet* rStyle ) { const ScPatternAttr* pPattern = pAttrArray->GetPattern(nRow); @@ -580,11 +520,6 @@ void ScColumn::ApplyStyle( SCROW nRow, const ScStyleSheet* rStyle ) pAttrArray->SetPattern(nRow, std::move(pNewPattern), true); } -void ScColumnData::ApplyStyleArea( SCROW nStartRow, SCROW nEndRow, const ScStyleSheet& rStyle ) -{ - pAttrArray->ApplyStyleArea(nStartRow, nEndRow, rStyle); -} - void ScColumn::ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark) { SCROW nTop; @@ -615,11 +550,6 @@ void ScColumn::ApplySelectionLineStyle( const ScMarkData& rMark, } } -const ScStyleSheet* ScColumnData::GetStyle( SCROW nRow ) const -{ - return pAttrArray->GetPattern( nRow )->GetStyleSheet(); -} - const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const { rFound = false; @@ -686,47 +616,6 @@ const ScStyleSheet* ScColumn::GetAreaStyle( bool& rFound, SCROW nRow1, SCROW nRo return bEqual ? pStyle : nullptr; } -void ScColumn::FindStyleSheet( const SfxStyleSheetBase* pStyleSheet, ScFlatBoolRowSegments& rUsedRows, bool bReset ) -{ - pAttrArray->FindStyleSheet( pStyleSheet, rUsedRows, bReset ); -} - -bool ScColumn::IsStyleSheetUsed( const ScStyleSheet& rStyle ) const -{ - return pAttrArray->IsStyleSheetUsed( rStyle ); -} - -bool ScColumn::ApplyFlags( SCROW nStartRow, SCROW nEndRow, ScMF nFlags ) -{ - return pAttrArray->ApplyFlags( nStartRow, nEndRow, nFlags ); -} - -bool ScColumn::RemoveFlags( SCROW nStartRow, SCROW nEndRow, ScMF nFlags ) -{ - return pAttrArray->RemoveFlags( nStartRow, nEndRow, nFlags ); -} - -void ScColumn::ClearItems( SCROW nStartRow, SCROW nEndRow, const sal_uInt16* pWhich ) -{ - pAttrArray->ClearItems( nStartRow, nEndRow, pWhich ); -} - -const ScPatternAttr* ScColumn::SetPattern( SCROW nRow, std::unique_ptr<ScPatternAttr> pPatAttr ) -{ - return pAttrArray->SetPattern( nRow, std::move(pPatAttr), true/*bPutToPool*/ ); -} - -void ScColumn::SetPattern( SCROW nRow, const ScPatternAttr& rPatAttr ) -{ - pAttrArray->SetPattern( nRow, &rPatAttr, true/*bPutToPool*/ ); -} - -void ScColumn::SetPatternArea( SCROW nStartRow, SCROW nEndRow, - const ScPatternAttr& rPatAttr ) -{ - pAttrArray->SetPatternArea( nStartRow, nEndRow, &rPatAttr, true/*bPutToPool*/ ); -} - void ScColumn::ApplyAttr( SCROW nRow, const SfxPoolItem& rAttr ) { // in order to only create a new SetItem, we don't need SfxItemPoolCache. diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 60c2f7b0a4e6..55bf2a5be132 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -1292,14 +1292,6 @@ bool ScColumn::HasVisibleDataAt(SCROW nRow) const return it->type != sc::element_type_empty; } -bool ScColumn::IsEmptyAttr() const -{ - if (pAttrArray) - return pAttrArray->IsEmpty(); - else - return true; -} - bool ScColumn::IsEmptyBlock(SCROW nStartRow, SCROW nEndRow) const { std::pair<sc::CellStoreType::const_iterator,size_t> aPos = maCells.position(nStartRow); @@ -3203,51 +3195,6 @@ void ScColumn::GetDataExtrasAt( SCROW nRow, ScDataAreaExtras& rDataAreaExtras ) } } -bool ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const -{ - if (pAttrArray && rCol.pAttrArray) - return pAttrArray->IsAllEqual( *rCol.pAttrArray, nStartRow, nEndRow ); - else - return !pAttrArray && !rCol.pAttrArray; -} - -bool ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW nEndRow ) const -{ - if (pAttrArray && rCol.pAttrArray) - return pAttrArray->IsVisibleEqual( *rCol.pAttrArray, nStartRow, nEndRow ); - else - return !pAttrArray && !rCol.pAttrArray; -} - -bool ScColumn::GetFirstVisibleAttr( SCROW& rFirstRow ) const -{ - if (pAttrArray) - return pAttrArray->GetFirstVisibleAttr( rFirstRow ); - else - return false; -} - -bool ScColumn::GetLastVisibleAttr( SCROW& rLastRow ) const -{ - if (pAttrArray) - { - // row of last cell is needed - SCROW nLastData = GetLastDataPos(); // always including notes, 0 if none - - return pAttrArray->GetLastVisibleAttr( rLastRow, nLastData ); - } - else - return false; -} - -bool ScColumn::HasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const -{ - if (pAttrArray) - return pAttrArray->HasVisibleAttrIn( nStartRow, nEndRow ); - else - return false; -} - namespace { class FindUsedRowsHandler @@ -3640,19 +3587,4 @@ sal_uInt64 ScColumn::GetCodeCount() const return aFunc.getCount(); } -SCSIZE ScColumn::GetPatternCount() const -{ - return pAttrArray ? pAttrArray->Count() : 0; -} - -SCSIZE ScColumn::GetPatternCount( SCROW nRow1, SCROW nRow2 ) const -{ - return pAttrArray ? pAttrArray->Count( nRow1, nRow2 ) : 0; -} - -bool ScColumn::ReservePatternCount( SCSIZE nReserve ) -{ - return pAttrArray && pAttrArray->Reserve( nReserve ); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index e9b7d1d189dc..6e93ce9b8df8 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -39,11 +39,6 @@ #include <vector> #include <cassert> -bool ScColumn::IsMerged( SCROW nRow ) const -{ - return pAttrArray->IsMerged(nRow); -} - sc::MultiDataCellState::StateType ScColumn::HasDataCellsInRange( SCROW nRow1, SCROW nRow2, SCROW* pRow1 ) const {