diff options
author | Noel Grandin <noel@peralex.com> | 2012-06-21 15:38:59 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-06-25 20:13:14 +0200 |
commit | 29b835a9227e0ac2c937b3a2128619a6568ddd6d (patch) | |
tree | 965522b7d71acbfd5ebd3262b9e1e11cade93588 /sw | |
parent | 7ce8873e463e609759e24bfdbf15e201e8b12d8d (diff) |
Convert Svptrarr usage to std::vector
Change-Id: Ia4f8ec61ef5cbcbca79bb242833641a28a97c7d0
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/ui/app/docstyle.cxx | 69 |
1 files changed, 32 insertions, 37 deletions
diff --git a/sw/source/ui/app/docstyle.cxx b/sw/source/ui/app/docstyle.cxx index bbd77f444966..1c46d35cd42e 100644 --- a/sw/source/ui/app/docstyle.cxx +++ b/sw/source/ui/app/docstyle.cxx @@ -1371,7 +1371,7 @@ void SwDocStyleSheet::SetItemSet( const SfxItemSet& rSet, } } -void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) +void lcl_SaveStyles( sal_uInt16 nFamily, std::vector<void*>& rArr, SwDoc& rDoc ) { switch( nFamily ) { @@ -1380,8 +1380,7 @@ void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) const SwCharFmts& rTbl = *rDoc.GetCharFmts(); for( sal_uInt16 n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - rArr.Insert( p, n ); + rArr.push_back( rTbl[ n ] ); } } break; @@ -1390,8 +1389,7 @@ void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) const SwTxtFmtColls& rTbl = *rDoc.GetTxtFmtColls(); for( sal_uInt16 n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - rArr.Insert( p, n ); + rArr.push_back( rTbl[ n ] ); } } break; @@ -1400,8 +1398,7 @@ void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) const SwFrmFmts& rTbl = *rDoc.GetFrmFmts(); for( sal_uInt16 n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - rArr.Insert( p, n ); + rArr.push_back( rTbl[ n ] ); } } break; @@ -1410,8 +1407,7 @@ void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) { for( sal_uInt16 n = 0, nCnt = rDoc.GetPageDescCnt(); n < nCnt; ++n ) { - void* p = (void*)&rDoc.GetPageDesc( n ); - rArr.Insert( p, n ); + rArr.push_back( &rDoc.GetPageDesc( n ) ); } } break; @@ -1421,28 +1417,31 @@ void lcl_SaveStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) const SwNumRuleTbl& rTbl = rDoc.GetNumRuleTbl(); for( sal_uInt16 n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - rArr.Insert( p, n ); + rArr.push_back( rTbl[ n ] ); } } break; } } -void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) +static bool lcl_Contains(const std::vector<void*>& rArr, const void* p) +{ + return std::find( rArr.begin(), rArr.end(), p ) != rArr.end(); +} + +void lcl_DeleteInfoStyles( sal_uInt16 nFamily, std::vector<void*>& rArr, SwDoc& rDoc ) { sal_uInt16 n, nCnt; switch( nFamily ) { case SFX_STYLE_FAMILY_CHAR: { - std::vector<sal_uInt16> aDelArr; + std::deque<sal_uInt16> aDelArr; const SwCharFmts& rTbl = *rDoc.GetCharFmts(); for( n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - if( USHRT_MAX == rArr.GetPos( p )) - aDelArr.insert( aDelArr.begin(), n ); + if( !lcl_Contains( rArr, rTbl[ n ] )) + aDelArr.push_front( n ); } for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n ) rDoc.DelCharFmt( aDelArr[ n ] ); @@ -1451,13 +1450,12 @@ void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) case SFX_STYLE_FAMILY_PARA : { - std::vector<sal_uInt16> aDelArr; + std::deque<sal_uInt16> aDelArr; const SwTxtFmtColls& rTbl = *rDoc.GetTxtFmtColls(); for( n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - if( USHRT_MAX == rArr.GetPos( p )) - aDelArr.insert( aDelArr.begin(), n ); + if( !lcl_Contains( rArr, rTbl[ n ] )) + aDelArr.push_front( n ); } for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n ) rDoc.DelTxtFmtColl( aDelArr[ n ] ); @@ -1466,27 +1464,25 @@ void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) case SFX_STYLE_FAMILY_FRAME: { - SvPtrarr aDelArr; + std::deque<SwFrmFmt*> aDelArr; const SwFrmFmts& rTbl = *rDoc.GetFrmFmts(); for( n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - if( USHRT_MAX == rArr.GetPos( p )) - aDelArr.Insert( p, 0 ); + if( !lcl_Contains( rArr, rTbl[ n ] )) + aDelArr.push_front( rTbl[ n ] ); } - for( n = 0, nCnt = aDelArr.Count(); n < nCnt; ++n ) - rDoc.DelFrmFmt( (SwFrmFmt*)aDelArr[ n ] ); + for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n ) + rDoc.DelFrmFmt( aDelArr[ n ] ); } break; case SFX_STYLE_FAMILY_PAGE: { - std::vector<sal_uInt16> aDelArr; + std::deque<sal_uInt16> aDelArr; for( n = 0, nCnt = rDoc.GetPageDescCnt(); n < nCnt; ++n ) { - void* p = (void*)&rDoc.GetPageDesc( n ); - if( USHRT_MAX == rArr.GetPos( p )) - aDelArr.insert( aDelArr.begin(), n ); + if( !lcl_Contains( rArr, &rDoc.GetPageDesc( n ) )) + aDelArr.push_front( n ); } for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n ) rDoc.DelPageDesc( aDelArr[ n ] ); @@ -1496,16 +1492,15 @@ void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc ) case SFX_STYLE_FAMILY_PSEUDO: { - SvPtrarr aDelArr; + std::deque<SwNumRule*> aDelArr; const SwNumRuleTbl& rTbl = rDoc.GetNumRuleTbl(); for( n = 0, nCnt = rTbl.size(); n < nCnt; ++n ) { - void* p = (void*)rTbl[ n ]; - if( USHRT_MAX == rArr.GetPos( p )) - aDelArr.Insert( p, 0 ); + if( !lcl_Contains( rArr, rTbl[ n ] )) + aDelArr.push_front( rTbl[ n ] ); } - for( n = 0, nCnt = aDelArr.Count(); n < nCnt; ++n ) - rDoc.DelNumRule( ((SwNumRule*)aDelArr[ n ])->GetName() ); + for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n ) + rDoc.DelNumRule( aDelArr[ n ]->GetName() ); } break; } @@ -1524,7 +1519,7 @@ sal_Bool SwDocStyleSheet::FillStyleSheet( FillStyleType eFType ) sal_Bool bCreate = FillPhysical == eFType; sal_Bool bDeleteInfo = sal_False; sal_Bool bFillOnlyInfo = FillAllInfo == eFType; - SvPtrarr aDelArr; + std::vector<void*> aDelArr; switch(nFamily) { |