sw/source/core/inc/UndoTable.hxx | 10 ++-- sw/source/core/undo/untbl.cxx | 89 +++++++++++++++++++-------------------- 2 files changed, 50 insertions(+), 49 deletions(-)
New commits: commit da8e85f55445ab2bb204fc3b44ce8793aeeef9d5 Author: Michael Stahl <mst...@redhat.com> Date: Mon Oct 12 13:41:04 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I72ec77d4226c98abbe849a03dc009f46f695923b diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx index ddd9673..fbd5f05 100644 --- a/sw/source/core/inc/UndoTable.hxx +++ b/sw/source/core/inc/UndoTable.hxx @@ -174,7 +174,7 @@ class SwUndoTableNdsChg : public SwUndo, private boost::noncopyable bool operator<(const _BoxMove& other) const { return index < other.index; }; }; std::unique_ptr< std::set<_BoxMove> > pNewSttNds; - std::unique_ptr< SwUndoSaveSections > pDelSects; + std::unique_ptr<SwUndoSaveSections> m_pDelSects; long nMin, nMax; // for redo of delete column sal_uLong nSttNode, nCurrBox; sal_uInt16 nCount, nRelDiff, nAbsDiff, nSetColType; diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index 3ecead8..34ff5ca 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -64,8 +64,6 @@ #include <unochart.hxx> #include <calbck.hxx> -#include <boost/ptr_container/ptr_vector.hpp> - #include <memory> #include <vector> @@ -83,10 +81,7 @@ typedef std::vector<std::shared_ptr<SfxItemSet> > SfxItemSets; -class SwUndoSaveSections : public boost::ptr_vector<SwUndoSaveSection> { -public: - explicit SwUndoSaveSections(size_type n) : boost::ptr_vector<SwUndoSaveSection>(n) {} -}; +class SwUndoSaveSections : public std::vector<std::unique_ptr<SwUndoSaveSection>> {}; class SwUndoMoves : public std::vector<std::unique_ptr<SwUndoMove>> {}; @@ -1662,14 +1657,14 @@ void SwUndoTableNdsChg::SaveNewBoxes( const SwTableNode& rTableNd, void SwUndoTableNdsChg::SaveSection( SwStartNode* pSttNd ) { OSL_ENSURE( IsDelBox(), "wrong Action" ); - if( pDelSects.get() == NULL ) - pDelSects.reset( new SwUndoSaveSections( 10 ) ); + if (m_pDelSects.get() == nullptr) + m_pDelSects.reset(new SwUndoSaveSections); SwTableNode* pTableNd = pSttNd->FindTableNode(); - SwUndoSaveSection* pSave = new SwUndoSaveSection; + std::unique_ptr<SwUndoSaveSection> pSave(new SwUndoSaveSection); pSave->SaveSection( SwNodeIndex( *pSttNd )); - pDelSects->push_back( pSave ); + m_pDelSects->push_back(std::move(pSave)); nSttNode = pTableNd->GetIndex(); } @@ -1701,9 +1696,9 @@ void SwUndoTableNdsChg::UndoImpl(::sw::UndoRedoContext & rContext) SwTableBoxes& rLnBoxes = pCpyBox->GetUpper()->GetTabBoxes(); // restore sections - for( size_t n = pDelSects->size(); n; ) + for (size_t n = m_pDelSects->size(); n; ) { - SwUndoSaveSection* pSave = &(*pDelSects)[ --n ]; + SwUndoSaveSection *const pSave = (*m_pDelSects)[ --n ].get(); pSave->RestoreSection( &rDoc, &aIdx, SwTableBoxStartNode ); if( pSave->GetHistory() ) pSave->GetHistory()->Rollback( &rDoc ); @@ -1711,7 +1706,7 @@ void SwUndoTableNdsChg::UndoImpl(::sw::UndoRedoContext & rContext) pCpyBox->GetUpper() ); rLnBoxes.push_back( pBox ); } - pDelSects->clear(); + m_pDelSects->clear(); } else if( !pNewSttNds->empty() ) { @@ -1909,7 +1904,12 @@ void SwUndoTableNdsChg::RedoImpl(::sw::UndoRedoContext & rContext) if( pUndo ) { - pDelSects->transfer( pDelSects->begin(), *static_cast<SwUndoTableNdsChg *>(pUndo)->pDelSects.get() ); + m_pDelSects->insert(m_pDelSects->begin(), + std::make_move_iterator( + static_cast<SwUndoTableNdsChg *>(pUndo)->m_pDelSects->begin()), + std::make_move_iterator( + static_cast<SwUndoTableNdsChg *>(pUndo)->m_pDelSects->end())); + static_cast<SwUndoTableNdsChg *>(pUndo)->m_pDelSects->clear(); delete pUndo; } rDoc.GetIDocumentUndoRedo().DoUndo( false ); commit cc47088d8733603b351259d3a4b5bf1b4270e8f0 Author: Michael Stahl <mst...@redhat.com> Date: Mon Oct 12 12:45:37 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I35063a241937137c4ebf4393dd880fa7cb7c8546 diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx index 58a320d..ddd9673 100644 --- a/sw/source/core/inc/UndoTable.hxx +++ b/sw/source/core/inc/UndoTable.hxx @@ -103,7 +103,7 @@ class SwUndoTableToText : public SwUndo OUString sTableNm; SwDDEFieldType* pDDEFieldType; _SaveTable* pTableSave; - SwTableToTextSaves* pBoxSaves; + SwTableToTextSaves* m_pBoxSaves; SwHistory* pHistory; sal_uLong nSttNd, nEndNd; sal_Unicode cTrenner; diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index b69f7a3..3ecead8 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -91,10 +91,7 @@ public: class SwUndoMoves : public std::vector<std::unique_ptr<SwUndoMove>> {}; struct SwTableToTextSave; -class SwTableToTextSaves : public boost::ptr_vector<SwTableToTextSave> { -public: - explicit SwTableToTextSaves(size_type n) : boost::ptr_vector<SwTableToTextSave>(n) {} -}; +class SwTableToTextSaves : public std::vector<std::unique_ptr<SwTableToTextSave>> {}; struct _UndoTableCpyTable_Entry { @@ -406,7 +403,8 @@ SwUndoTableToText::SwUndoTableToText( const SwTable& rTable, sal_Unicode cCh ) cTrenner( cCh ), nHdlnRpt( rTable.GetRowsToRepeat() ) { pTableSave = new _SaveTable( rTable ); - pBoxSaves = new SwTableToTextSaves( (SwTableToTextSaves::size_type)rTable.GetTabSortBoxes().size() ); + m_pBoxSaves = new SwTableToTextSaves; + m_pBoxSaves->reserve(rTable.GetTabSortBoxes().size()); if( dynamic_cast<const SwDDETable *>(&rTable) != nullptr ) pDDEFieldType = static_cast<SwDDEFieldType*>(static_cast<const SwDDETable&>(rTable).GetDDEFieldType()->Copy()); @@ -441,7 +439,7 @@ SwUndoTableToText::~SwUndoTableToText() { delete pDDEFieldType; delete pTableSave; - delete pBoxSaves; + delete m_pBoxSaves; delete pHistory; } @@ -463,7 +461,7 @@ void SwUndoTableToText::UndoImpl(::sw::UndoRedoContext & rContext) SwNode2Layout aNode2Layout( aFrmIdx.GetNode() ); // create TableNode structure - SwTableNode* pTableNd = rDoc.GetNodes().UndoTableToText( nSttNd, nEndNd, *pBoxSaves ); + SwTableNode* pTableNd = rDoc.GetNodes().UndoTableToText( nSttNd, nEndNd, *m_pBoxSaves ); pTableNd->GetTable().SetTableModel( pTableSave->IsNewModel() ); SwTableFormat* pTableFormat = rDoc.MakeTableFrameFormat( sTableNm, rDoc.GetDfltFrameFormat() ); pTableNd->GetTable().RegisterToFormat( *pTableFormat ); @@ -547,7 +545,7 @@ SwTableNode* SwNodes::UndoTableToText( sal_uLong nSttNd, sal_uLong nEndNd, const std::shared_ptr<sw::mark::ContentIdxStore> pContentStore(sw::mark::ContentIdxStore::Create()); for( size_t n = rSavedData.size(); n; ) { - const SwTableToTextSave* pSave = &rSavedData[ --n ]; + const SwTableToTextSave *const pSave = rSavedData[ --n ].get(); // if the start node was merged with last from prev. cell, // subtract 1 from index to get the merged paragraph, and split that aSttIdx = pSave->m_nSttNd - ( ( SAL_MAX_INT32 != pSave->m_nContent ) ? 1 : 0); @@ -681,8 +679,9 @@ void SwUndoTableToText::SetRange( const SwNodeRange& rRg ) void SwUndoTableToText::AddBoxPos( SwDoc& rDoc, sal_uLong nNdIdx, sal_uLong nEndIdx, sal_Int32 nContentIdx ) { - SwTableToTextSave* pNew = new SwTableToTextSave( rDoc, nNdIdx, nEndIdx, nContentIdx ); - pBoxSaves->push_back( pNew ); + std::unique_ptr<SwTableToTextSave> pNew( + new SwTableToTextSave(rDoc, nNdIdx, nEndIdx, nContentIdx)); + m_pBoxSaves->push_back(std::move(pNew)); } SwUndoTextToTable::SwUndoTextToTable( const SwPaM& rRg, commit 9ebfe82edc3cb12cb3d8574b1fefd2d2c6809970 Author: Michael Stahl <mst...@redhat.com> Date: Mon Oct 12 12:38:54 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: Ib0a0d596ce262783b8850d4d9c0142391cc59284 diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx index d35d15f..58a320d 100644 --- a/sw/source/core/inc/UndoTable.hxx +++ b/sw/source/core/inc/UndoTable.hxx @@ -220,7 +220,7 @@ class SwUndoTableMerge : public SwUndo, private SwUndRng _SaveTable* pSaveTable; std::set<sal_uLong> m_Boxes; std::vector<sal_uLong> aNewSttNds; - SwUndoMoves* pMoves; + SwUndoMoves* m_pMoves; SwHistory* pHistory; public: diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index bdf46ea..b69f7a3 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -88,7 +88,7 @@ public: explicit SwUndoSaveSections(size_type n) : boost::ptr_vector<SwUndoSaveSection>(n) {} }; -class SwUndoMoves : public boost::ptr_vector<SwUndoMove> {}; +class SwUndoMoves : public std::vector<std::unique_ptr<SwUndoMove>> {}; struct SwTableToTextSave; class SwTableToTextSaves : public boost::ptr_vector<SwTableToTextSave> { @@ -1927,19 +1927,20 @@ void SwUndoTableNdsChg::RedoImpl(::sw::UndoRedoContext & rContext) } SwUndoTableMerge::SwUndoTableMerge( const SwPaM& rTableSel ) - : SwUndo( UNDO_TABLE_MERGE ), SwUndRng( rTableSel ), pHistory( 0 ) + : SwUndo( UNDO_TABLE_MERGE ), SwUndRng( rTableSel ) + , m_pMoves(new SwUndoMoves) + , pHistory(nullptr) { const SwTableNode* pTableNd = rTableSel.GetNode().FindTableNode(); OSL_ENSURE( pTableNd, "Where is the TableNode?" ); pSaveTable = new _SaveTable( pTableNd->GetTable() ); - pMoves = new SwUndoMoves; nTableNode = pTableNd->GetIndex(); } SwUndoTableMerge::~SwUndoTableMerge() { delete pSaveTable; - delete pMoves; + delete m_pMoves; delete pHistory; } @@ -2003,11 +2004,11 @@ CHECKTABLE(pTableNd->GetTable()) *pBox->GetSttNd()->EndOfSectionNode() ), pColl ); // this was the separator -> restore moved ones - for( size_t i = pMoves->size(); i; ) + for (size_t i = m_pMoves->size(); i; ) { SwTextNode* pTextNd = 0; sal_Int32 nDelPos = 0; - SwUndoMove* pUndo = &(*pMoves)[ --i ]; + SwUndoMove *const pUndo = (*m_pMoves)[ --i ].get(); if( !pUndo->IsMoveRange() ) { pTextNd = rDoc.GetNodes()[ pUndo->GetDestSttNode() ]->GetTextNode(); @@ -2097,7 +2098,7 @@ void SwUndoTableMerge::RedoImpl(::sw::UndoRedoContext & rContext) void SwUndoTableMerge::MoveBoxContent( SwDoc* pDoc, SwNodeRange& rRg, SwNodeIndex& rPos ) { SwNodeIndex aTmp( rRg.aStart, -1 ), aTmp2( rPos, -1 ); - SwUndoMove* pUndo = new SwUndoMove( pDoc, rRg, rPos ); + std::unique_ptr<SwUndoMove> pUndo(new SwUndoMove( pDoc, rRg, rPos )); ::sw::UndoGuard const undoGuard(pDoc->GetIDocumentUndoRedo()); pDoc->getIDocumentContentOperations().MoveNodeRange( rRg, rPos, pSaveTable->IsNewModel() ? SwMoveFlags::NO_DELFRMS : @@ -2106,7 +2107,7 @@ void SwUndoTableMerge::MoveBoxContent( SwDoc* pDoc, SwNodeRange& rRg, SwNodeInde ++aTmp2; pUndo->SetDestRange( aTmp2, rPos, aTmp ); - pMoves->push_back( pUndo ); + m_pMoves->push_back(std::move(pUndo)); } void SwUndoTableMerge::SetSelBoxes( const SwSelBoxes& rBoxes ) commit 3d94310d065ff20a72d081d58bafec19eb0f05bf Author: Michael Stahl <mst...@redhat.com> Date: Mon Oct 12 12:32:02 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I7fc78b64a12212f4c9bd280b0ebf2a55235461d3 diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx index 8a75054..d35d15f 100644 --- a/sw/source/core/inc/UndoTable.hxx +++ b/sw/source/core/inc/UndoTable.hxx @@ -269,11 +269,11 @@ public: void SetBox( const SwTableBox& rBox ); }; -class _UndoTableCpyTable_Entries; +class SwUndoTableCpyTable_Entries; class SwUndoTableCpyTable : public SwUndo { - _UndoTableCpyTable_Entries* pArr; + SwUndoTableCpyTable_Entries* m_pArr; SwUndoTableNdsChg* pInsRowUndo; //b6341295: When redlining is active, PrepareRedline has to create the diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index cb32a59..bdf46ea 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -108,7 +108,7 @@ struct _UndoTableCpyTable_Entry explicit _UndoTableCpyTable_Entry( const SwTableBox& rBox ); ~_UndoTableCpyTable_Entry(); }; -class _UndoTableCpyTable_Entries : public boost::ptr_vector<_UndoTableCpyTable_Entry> {}; +class SwUndoTableCpyTable_Entries : public std::vector<std::unique_ptr<_UndoTableCpyTable_Entry>> {}; class _SaveBox; class _SaveLine; @@ -2416,14 +2416,15 @@ _UndoTableCpyTable_Entry::~_UndoTableCpyTable_Entry() } SwUndoTableCpyTable::SwUndoTableCpyTable() - : SwUndo( UNDO_TBLCPYTBL ), pInsRowUndo( 0 ) + : SwUndo( UNDO_TBLCPYTBL ) + , m_pArr(new SwUndoTableCpyTable_Entries) + , pInsRowUndo(nullptr) { - pArr = new _UndoTableCpyTable_Entries; } SwUndoTableCpyTable::~SwUndoTableCpyTable() { - delete pArr; + delete m_pArr; delete pInsRowUndo; } @@ -2433,9 +2434,9 @@ void SwUndoTableCpyTable::UndoImpl(::sw::UndoRedoContext & rContext) _DEBUG_REDLINE( &rDoc ) SwTableNode* pTableNd = 0; - for( size_t n = pArr->size(); n; ) + for (size_t n = m_pArr->size(); n; ) { - _UndoTableCpyTable_Entry* pEntry = &(*pArr)[ --n ]; + _UndoTableCpyTable_Entry *const pEntry = (*m_pArr)[ --n ].get(); sal_uLong nSttPos = pEntry->nBoxIdx + pEntry->nOffset; SwStartNode* pSNd = rDoc.GetNodes()[ nSttPos ]->StartOfSectionNode(); if( !pTableNd ) @@ -2584,9 +2585,9 @@ void SwUndoTableCpyTable::RedoImpl(::sw::UndoRedoContext & rContext) } SwTableNode* pTableNd = 0; - for( size_t n = 0; n < pArr->size(); ++n ) + for (size_t n = 0; n < m_pArr->size(); ++n) { - _UndoTableCpyTable_Entry* pEntry = &(*pArr)[ n ]; + _UndoTableCpyTable_Entry *const pEntry = (*m_pArr)[ n ].get(); sal_uLong nSttPos = pEntry->nBoxIdx + pEntry->nOffset; SwStartNode* pSNd = rDoc.GetNodes()[ nSttPos ]->StartOfSectionNode(); if( !pTableNd ) @@ -2661,11 +2662,11 @@ void SwUndoTableCpyTable::RedoImpl(::sw::UndoRedoContext & rContext) void SwUndoTableCpyTable::AddBoxBefore( const SwTableBox& rBox, bool bDelContent ) { - if( !pArr->empty() && !bDelContent ) + if (!m_pArr->empty() && !bDelContent) return; _UndoTableCpyTable_Entry* pEntry = new _UndoTableCpyTable_Entry( rBox ); - pArr->push_back( pEntry ); + m_pArr->push_back(std::unique_ptr<_UndoTableCpyTable_Entry>(pEntry)); SwDoc* pDoc = rBox.GetFrameFormat()->GetDoc(); _DEBUG_REDLINE( pDoc ) @@ -2690,7 +2691,7 @@ void SwUndoTableCpyTable::AddBoxBefore( const SwTableBox& rBox, bool bDelContent void SwUndoTableCpyTable::AddBoxAfter( const SwTableBox& rBox, const SwNodeIndex& rIdx, bool bDelContent ) { - _UndoTableCpyTable_Entry* pEntry = &(*pArr).back(); + _UndoTableCpyTable_Entry *const pEntry = (*m_pArr).back().get(); // If the content was deleted than remove also the temporarily created node if( bDelContent ) @@ -2809,7 +2810,7 @@ bool SwUndoTableCpyTable::InsertRow( SwTable& rTable, const SwSelBoxes& rBoxes, bool SwUndoTableCpyTable::IsEmpty() const { - return !pInsRowUndo && pArr->empty(); + return !pInsRowUndo && m_pArr->empty(); } SwUndoCpyTable::SwUndoCpyTable() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits