sw/source/core/doc/tblrwcl.cxx | 29 ++++++++++++++++------------ sw/source/core/inc/UndoSort.hxx | 8 ++++--- sw/source/core/inc/tblrwcl.hxx | 8 ++----- sw/source/core/undo/unsort.cxx | 40 +++++++++++++++++++++------------------ sw/source/core/undo/untbl.cxx | 3 ++ sw/source/filter/xml/xmltbli.cxx | 28 ++++++++++++++------------- 6 files changed, 65 insertions(+), 51 deletions(-)
New commits: commit 1bda8ef1b0d532339db02cd932da275b00fb3f91 Author: Michael Stahl <mst...@redhat.com> Date: Thu Oct 1 11:00:10 2015 +0200 sw: convert this sal_uLong Although, why not just use the pointer? Change-Id: I1781a04bb97dba2ac6c769973345bb3c66f28904 diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx index f9d9198..d12e012 100644 --- a/sw/source/core/doc/tblrwcl.cxx +++ b/sw/source/core/doc/tblrwcl.cxx @@ -4519,7 +4519,7 @@ void SwShareBoxFormats::RemoveFormat( const SwFrameFormat& rFormat ) bool SwShareBoxFormats::Seek_Entry( const SwFrameFormat& rFormat, sal_uInt16* pPos ) const { - sal_uLong nIdx = reinterpret_cast<sal_uLong>(&rFormat); + sal_uIntPtr nIdx = reinterpret_cast<sal_uIntPtr>(&rFormat); auto nO = m_ShareArr.size(); decltype(nO) nU = 0; if( nO > 0 ) @@ -4528,7 +4528,7 @@ bool SwShareBoxFormats::Seek_Entry( const SwFrameFormat& rFormat, sal_uInt16* pP while( nU <= nO ) { const auto nM = nU + ( nO - nU ) / 2; - sal_uLong nFormat = reinterpret_cast<sal_uLong>(&m_ShareArr[ nM ]->GetOldFormat()); + sal_uIntPtr nFormat = reinterpret_cast<sal_uIntPtr>(&m_ShareArr[ nM ]->GetOldFormat()); if( nFormat == nIdx ) { if( pPos ) commit 277bf2338b313317e70db0cf9d09342558ae0792 Author: Michael Stahl <mst...@redhat.com> Date: Wed Sep 30 23:22:11 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I821a853a0e4776d2b5ba2ca69d421ec0af8e865e diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx index b4abdb8..f9d9198 100644 --- a/sw/source/core/doc/tblrwcl.cxx +++ b/sw/source/core/doc/tblrwcl.cxx @@ -4411,16 +4411,16 @@ SwFrameFormat* SwShareBoxFormats::GetFormat( const SwFrameFormat& rFormat, long { sal_uInt16 nPos; return Seek_Entry( rFormat, &nPos ) - ? aShareArr[ nPos ].GetFormat( nWidth ) - : 0; + ? m_ShareArr[ nPos ]->GetFormat(nWidth) + : nullptr; } SwFrameFormat* SwShareBoxFormats::GetFormat( const SwFrameFormat& rFormat, const SfxPoolItem& rItem ) const { sal_uInt16 nPos; return Seek_Entry( rFormat, &nPos ) - ? aShareArr[ nPos ].GetFormat( rItem ) - : 0; + ? m_ShareArr[ nPos ]->GetFormat(rItem) + : nullptr; } void SwShareBoxFormats::AddFormat( const SwFrameFormat& rOld, SwFrameFormat& rNew ) @@ -4431,10 +4431,10 @@ void SwShareBoxFormats::AddFormat( const SwFrameFormat& rOld, SwFrameFormat& rNe if( !Seek_Entry( rOld, &nPos )) { pEntry = new SwShareBoxFormat( rOld ); - aShareArr.insert( aShareArr.begin() + nPos, pEntry ); + m_ShareArr.insert(m_ShareArr.begin() + nPos, std::unique_ptr<SwShareBoxFormat>(pEntry)); } else - pEntry = &aShareArr[ nPos ]; + pEntry = m_ShareArr[ nPos ].get(); pEntry->AddFormat( rNew ); } @@ -4508,22 +4508,27 @@ void SwShareBoxFormats::SetAttr( SwTableLine& rLine, const SfxPoolItem& rItem ) void SwShareBoxFormats::RemoveFormat( const SwFrameFormat& rFormat ) { - for( auto i = aShareArr.size(); i; ) - if( aShareArr[ --i ].RemoveFormat( rFormat )) - aShareArr.erase( aShareArr.begin() + i ); + for (auto i = m_ShareArr.size(); i; ) + { + if (m_ShareArr[ --i ]->RemoveFormat(rFormat)) + { + m_ShareArr.erase( m_ShareArr.begin() + i ); + } + } } bool SwShareBoxFormats::Seek_Entry( const SwFrameFormat& rFormat, sal_uInt16* pPos ) const { sal_uLong nIdx = reinterpret_cast<sal_uLong>(&rFormat); - _SwShareBoxFormats::size_type nO = aShareArr.size(), nU = 0; + auto nO = m_ShareArr.size(); + decltype(nO) nU = 0; if( nO > 0 ) { nO--; while( nU <= nO ) { const auto nM = nU + ( nO - nU ) / 2; - sal_uLong nFormat = reinterpret_cast<sal_uLong>(&aShareArr[ nM ].GetOldFormat()); + sal_uLong nFormat = reinterpret_cast<sal_uLong>(&m_ShareArr[ nM ]->GetOldFormat()); if( nFormat == nIdx ) { if( pPos ) diff --git a/sw/source/core/inc/tblrwcl.hxx b/sw/source/core/inc/tblrwcl.hxx index 46c50cc..96d064c 100644 --- a/sw/source/core/inc/tblrwcl.hxx +++ b/sw/source/core/inc/tblrwcl.hxx @@ -20,10 +20,9 @@ #define INCLUDED_SW_SOURCE_CORE_INC_TBLRWCL_HXX #include <cstddef> +#include <memory> #include <vector> -#include <boost/ptr_container/ptr_vector.hpp> - #include <swtypes.hxx> #include <tblsel.hxx> #include <swtable.hxx> @@ -174,11 +173,10 @@ public: bool RemoveFormat( const SwFrameFormat& rFormat ); }; -typedef boost::ptr_vector<SwShareBoxFormat> _SwShareBoxFormats; - class SwShareBoxFormats { - _SwShareBoxFormats aShareArr; + std::vector<std::unique_ptr<SwShareBoxFormat>> m_ShareArr; + bool Seek_Entry( const SwFrameFormat& rFormat, sal_uInt16* pPos ) const; void ChangeFrameFormat( SwTableBox* pBox, SwTableLine* pLn, SwFrameFormat& rFormat ); diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index 6589657..9af9efe 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -63,6 +63,9 @@ #include <comcore.hrc> #include <unochart.hxx> #include <calbck.hxx> + +#include <boost/ptr_container/ptr_vector.hpp> + #include <memory> #include <vector> commit ba785e0c93102e354c646c96a1de29f468080108 Author: Michael Stahl <mst...@redhat.com> Date: Wed Sep 30 23:09:06 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I913648a8dd407c5629df7a0355d2cfdf66240cf9 diff --git a/sw/source/core/inc/UndoSort.hxx b/sw/source/core/inc/UndoSort.hxx index 426b862..4bc178b 100644 --- a/sw/source/core/inc/UndoSort.hxx +++ b/sw/source/core/inc/UndoSort.hxx @@ -21,9 +21,12 @@ #define INCLUDED_SW_SOURCE_CORE_INC_UNDOSORT_HXX #include <undobj.hxx> -#include <boost/ptr_container/ptr_vector.hpp> + #include <rtl/ustring.hxx> +#include <memory> +#include <vector> + struct SwSortOptions; class SwTableNode; class SwUndoAttrTable; @@ -59,8 +62,7 @@ typedef std::vector<SwNodeIndex*> SwUndoSortList; class SwUndoSort : public SwUndo, private SwUndRng { SwSortOptions* pSortOpt; - boost::ptr_vector<SwSortUndoElement> - aSortList; + std::vector<std::unique_ptr<SwSortUndoElement>> m_SortList; SwUndoAttrTable* pUndoTableAttr; SwRedlineData* pRedlData; sal_uLong nTableNd; diff --git a/sw/source/core/undo/unsort.cxx b/sw/source/core/undo/unsort.cxx index a32c1cb..42b4d81 100644 --- a/sw/source/core/undo/unsort.cxx +++ b/sw/source/core/undo/unsort.cxx @@ -94,12 +94,12 @@ void SwUndoSort::UndoImpl(::sw::UndoRedoContext & rContext) const SwTable& rTable = pTableNd->GetTable(); SwMovedBoxes aMovedList; - for( size_t i=0; i < aSortList.size(); i++) + for (size_t i=0; i < m_SortList.size(); i++) { const SwTableBox* pSource = rTable.GetTableBox( - *aSortList[i].SORT_TXT_TBL.TBL.pSource ); + *m_SortList[i]->SORT_TXT_TBL.TBL.pSource ); const SwTableBox* pTarget = rTable.GetTableBox( - *aSortList[i].SORT_TXT_TBL.TBL.pTarget ); + *m_SortList[i]->SORT_TXT_TBL.TBL.pTarget ); // move back MoveCell(&rDoc, pTarget, pSource, @@ -125,17 +125,21 @@ void SwUndoSort::UndoImpl(::sw::UndoRedoContext & rContext) // The IndexList must be created based on (asc.) sorted SourcePosition. SwUndoSortList aIdxList; - for( size_t i = 0; i < aSortList.size(); ++i) - for( size_t ii=0; ii < aSortList.size(); ++ii ) - if( aSortList[ii].SORT_TXT_TBL.TXT.nSource == nSttNode + i ) + for (size_t i = 0; i < m_SortList.size(); ++i) + { + for (size_t ii = 0; ii < m_SortList.size(); ++ii) + { + if (m_SortList[ii]->SORT_TXT_TBL.TXT.nSource == nSttNode + i) { SwNodeIndex* pIdx = new SwNodeIndex( rDoc.GetNodes(), - aSortList[ii].SORT_TXT_TBL.TXT.nTarget ); + m_SortList[ii]->SORT_TXT_TBL.TXT.nTarget ); aIdxList.insert( aIdxList.begin() + i, pIdx ); break; } + } + } - for(size_t i=0; i < aSortList.size(); ++i) + for (size_t i = 0; i < m_SortList.size(); ++i) { SwNodeIndex aIdx( rDoc.GetNodes(), nSttNode + i ); SwNodeRange aRg( *aIdxList[i], 0, *aIdxList[i], 1 ); @@ -169,12 +173,12 @@ void SwUndoSort::RedoImpl(::sw::UndoRedoContext & rContext) const SwTable& rTable = pTableNd->GetTable(); SwMovedBoxes aMovedList; - for(size_t i=0; i < aSortList.size(); ++i) + for (size_t i = 0; i < m_SortList.size(); ++i) { const SwTableBox* pSource = rTable.GetTableBox( - *aSortList[i].SORT_TXT_TBL.TBL.pSource ); + *m_SortList[i]->SORT_TXT_TBL.TBL.pSource ); const SwTableBox* pTarget = rTable.GetTableBox( - *aSortList[i].SORT_TXT_TBL.TBL.pTarget ); + *m_SortList[i]->SORT_TXT_TBL.TBL.pTarget ); // move back MoveCell(&rDoc, pSource, pTarget, @@ -203,14 +207,14 @@ void SwUndoSort::RedoImpl(::sw::UndoRedoContext & rContext) SwUndoSortList aIdxList; - for( size_t i = 0; i < aSortList.size(); ++i) + for (size_t i = 0; i < m_SortList.size(); ++i) { // current position is starting point SwNodeIndex* pIdx = new SwNodeIndex( rDoc.GetNodes(), - aSortList[i].SORT_TXT_TBL.TXT.nSource); + m_SortList[i]->SORT_TXT_TBL.TXT.nSource); aIdxList.insert( aIdxList.begin() + i, pIdx ); } - for( size_t i = 0; i < aSortList.size(); ++i) + for (size_t i = 0; i < m_SortList.size(); ++i) { SwNodeIndex aIdx( rDoc.GetNodes(), nSttNode + i); SwNodeRange aRg( *aIdxList[i], 0, *aIdxList[i], 1 ); @@ -245,14 +249,14 @@ void SwUndoSort::RepeatImpl(::sw::RepeatContext & rContext) void SwUndoSort::Insert( const OUString& rOrgPos, const OUString& rNewPos) { - SwSortUndoElement* pEle = new SwSortUndoElement(rOrgPos, rNewPos); - aSortList.push_back( pEle ); + std::unique_ptr<SwSortUndoElement> p(new SwSortUndoElement(rOrgPos, rNewPos)); + m_SortList.push_back(std::move(p)); } void SwUndoSort::Insert( sal_uLong nOrgPos, sal_uLong nNewPos) { - SwSortUndoElement* pEle = new SwSortUndoElement(nOrgPos, nNewPos); - aSortList.push_back( pEle ); + std::unique_ptr<SwSortUndoElement> p(new SwSortUndoElement(nOrgPos, nNewPos)); + m_SortList.push_back(std::move(p)); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit d119c840b76a250c79f30bae246fad0b255817d2 Author: Michael Stahl <mst...@redhat.com> Date: Wed Sep 30 23:03:04 2015 +0200 sw: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: Iabe9ccea6a5e9753348895cca4546c89fc6971cf diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx index dde95da..93d12a5 100644 --- a/sw/source/filter/xml/xmltbli.cxx +++ b/sw/source/filter/xml/xmltbli.cxx @@ -58,7 +58,8 @@ #include <osl/mutex.hxx> #include "ndtxt.hxx" -#include <boost/ptr_container/ptr_vector.hpp> +#include <vector> +#include <memory> #include <limits.h> @@ -293,8 +294,7 @@ class SwXMLTableRow_Impl OUString aStyleName; OUString aDfltCellStyleName; OUString mXmlId; - boost::ptr_vector<SwXMLTableCell_Impl> - aCells; + std::vector<std::unique_ptr<SwXMLTableCell_Impl>> m_Cells; bool bSplitable; public: @@ -338,7 +338,7 @@ SwXMLTableRow_Impl::SwXMLTableRow_Impl( const OUString& rStyleName, for( sal_uInt32 i=0U; i<nCells; ++i ) { - aCells.push_back( new SwXMLTableCell_Impl ); + m_Cells.push_back(std::unique_ptr<SwXMLTableCell_Impl>(new SwXMLTableCell_Impl)); } } @@ -347,9 +347,9 @@ inline SwXMLTableCell_Impl *SwXMLTableRow_Impl::GetCell( sal_uInt32 nCol ) OSL_ENSURE( nCol < USHRT_MAX, "SwXMLTableRow_Impl::GetCell: column number is to big" ); // #i95726# - some fault tolerance - OSL_ENSURE( nCol < aCells.size(), + OSL_ENSURE( nCol < m_Cells.size(), "SwXMLTableRow_Impl::GetCell: column number is out of bound" ); - return nCol < aCells.size() ? &aCells[nCol] : 0; + return nCol < m_Cells.size() ? m_Cells[nCol].get() : nullptr; } void SwXMLTableRow_Impl::Expand( sal_uInt32 nCells, bool bOneCell ) @@ -359,15 +359,15 @@ void SwXMLTableRow_Impl::Expand( sal_uInt32 nCells, bool bOneCell ) if( nCells > USHRT_MAX ) nCells = USHRT_MAX; - sal_uInt32 nColSpan = nCells - aCells.size(); - for( size_t i=aCells.size(); i<nCells; ++i ) + sal_uInt32 nColSpan = nCells - m_Cells.size(); + for (size_t i = m_Cells.size(); i < nCells; ++i) { - aCells.push_back( new SwXMLTableCell_Impl( 1UL, - bOneCell ? nColSpan : 1UL ) ); + m_Cells.push_back(std::unique_ptr<SwXMLTableCell_Impl>( + new SwXMLTableCell_Impl(1UL, (bOneCell) ? nColSpan : 1UL))); nColSpan--; } - OSL_ENSURE( nCells<=aCells.size(), + OSL_ENSURE( nCells <= m_Cells.size(), "SwXMLTableRow_Impl::Expand: wrong number of cells" ); } @@ -382,8 +382,10 @@ inline void SwXMLTableRow_Impl::Set( const OUString& rStyleName, void SwXMLTableRow_Impl::Dispose() { - for( size_t i=0; i < aCells.size(); ++i ) - aCells[i].Dispose(); + for (auto & pCell : m_Cells) + { + pCell->Dispose(); + } } class SwXMLTableCellContext_Impl : public SvXMLImportContext _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits