summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-10-12 12:32:02 +0200
committerMichael Stahl <mstahl@redhat.com>2015-10-12 13:59:52 +0200
commit3d94310d065ff20a72d081d58bafec19eb0f05bf (patch)
treef56dec26dbd75e6a02defc5800ef59408115b28a
parent9c67eebf79084e51ef2f0fd5a45dc34bd64e1d49 (diff)
sw: replace boost::ptr_vector with std::vector<std::unique_ptr>
Change-Id: I7fc78b64a12212f4c9bd280b0ebf2a55235461d3
-rw-r--r--sw/source/core/inc/UndoTable.hxx4
-rw-r--r--sw/source/core/undo/untbl.cxx25
2 files changed, 15 insertions, 14 deletions
diff --git a/sw/source/core/inc/UndoTable.hxx b/sw/source/core/inc/UndoTable.hxx
index 8a75054c3c4e..d35d15fd2954 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 cb32a595a854..bdf46eae537a 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()