[PATCH] replaced some SvUShorts with std::vector

Daniel Di Marco d.dimarco at gmx.de
Mon Sep 19 16:18:28 PDT 2011


---
 sw/source/core/crsr/findtxt.cxx  |    9 ++-----
 sw/source/core/crsr/viscrs.cxx   |   11 ++-------
 sw/source/core/doc/tblrwcl.cxx   |    6 ++--
 sw/source/core/docnode/ndtbl.cxx |   43 ++++++++++++++++++-------------------
 sw/source/core/inc/tblrwcl.hxx   |   10 ++------
 sw/source/core/txtnode/ndtxt.cxx |   15 +++++++------
 sw/source/ui/app/docstyle.cxx    |   20 ++++++++---------
 7 files changed, 50 insertions(+), 64 deletions(-)

diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index 3add534..9a86bac 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -32,9 +32,6 @@
 #include <com/sun/star/util/SearchOptions.hpp>
 #include <com/sun/star/util/SearchFlags.hpp>
 
-#define _SVSTDARR_USHORTS
-#include <svl/svstdarr.hxx>
-
 #include <vcl/svapp.hxx>
 #include <vcl/window.hxx>
 
@@ -76,7 +73,7 @@ String& lcl_CleanStr( const SwTxtNode& rNd, xub_StrLen nStart,
     bool bNewHint       = true;
     bool bNewSoftHyphen = true;
     const xub_StrLen nEnd = rEnde;
-    SvUShorts aReplaced;
+    std::vector<sal_uInt16> aReplaced;
 
     do
     {
@@ -155,7 +152,7 @@ String& lcl_CleanStr( const SwTxtNode& rNd, xub_StrLen nStart,
                         else
                            {
                             if ( bEmpty )
-                                aReplaced.Insert( nAkt, aReplaced.Count() );
+                                aReplaced.push_back( nAkt );
                             rRet.SetChar( nAkt, '\x7f' );
                            }
                        }
@@ -178,7 +175,7 @@ String& lcl_CleanStr( const SwTxtNode& rNd, xub_StrLen nStart,
     }
     while ( true );
 
-    for( sal_uInt16 i = aReplaced.Count(); i; )
+    for( sal_uInt16 i = aReplaced.size(); i; )
     {
         const xub_StrLen nTmp = aReplaced[ --i ];
         if( nTmp == rRet.Len() - 1 )
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 3ec97b2..9ec4b0a 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -30,11 +30,6 @@
 #include "precompiled_sw.hxx"
 
 
-#ifndef _SVSTDARR_HXX
-#define _SVSTDARR_USHORTS
-#include <svl/svstdarr.hxx>
-#endif
-
 #include <vcl/dialog.hxx>
 #include <vcl/msgbox.hxx>
 #include <vcl/wrkwin.hxx>
@@ -560,21 +555,21 @@ short SwShellCrsr::MaxReplaceArived()
     {
         // Terminate old actions. The table-frames get constructed and
         // a SSelection can be created.
-        SvUShorts aArr;
+        std::vector<sal_uInt16> aArr;
         sal_uInt16 nActCnt;
         ViewShell *pShell = const_cast< SwCrsrShell* >( GetShell() ),
                   *pSh = pShell;
         do {
             for( nActCnt = 0; pSh->ActionPend(); ++nActCnt )
                 pSh->EndAction();
-            aArr.Insert( nActCnt, aArr.Count() );
+            aArr.push_back( nActCnt );
         } while( pShell != ( pSh = (ViewShell*)pSh->GetNext() ) );
 
         {
             nRet = QueryBox( pDlg, SW_RES( MSG_COMCORE_ASKSEARCH )).Execute();
         }
 
-        for( sal_uInt16 n = 0; n < aArr.Count(); ++n )
+        for( sal_uInt16 n = 0; n < aArr.size(); ++n )
         {
             for( nActCnt = aArr[n]; nActCnt--; )
                 pSh->StartAction();
diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx
index 82fa926..49c5ddf 100644
--- a/sw/source/core/doc/tblrwcl.cxx
+++ b/sw/source/core/doc/tblrwcl.cxx
@@ -111,7 +111,7 @@ struct CR_SetBoxWidth
 {
     SwSelBoxes aBoxes;
     SwSortTableLines aLines;
-    SvUShorts aLinesWidth;
+    std::vector<sal_uInt16> aLinesWidth;
     SwShareBoxFmts aShareFmts;
     SwTableNode* pTblNd;
     SwUndoTblNdsChg* pUndo;
@@ -143,7 +143,7 @@ struct CR_SetBoxWidth
         bSplittBox( rCpy.bSplittBox ), bAnyBoxFnd( rCpy.bAnyBoxFnd )
     {
         aLines.Insert( &rCpy.aLines );
-        aLinesWidth.Insert( &rCpy.aLinesWidth, 0 );
+        aLinesWidth = rCpy.aLinesWidth;
     }
 
     SwUndoTblNdsChg* CreateUndo( SwUndoId eUndoType )
@@ -161,7 +161,7 @@ struct CR_SetBoxWidth
         SwTableLinePtr p = (SwTableLine*)rBox.GetUpper();
         sal_uInt16 nFndPos;
         if( aLines.Insert( p, nFndPos ))
-            aLinesWidth.Insert( nWidth, nFndPos );
+            aLinesWidth.insert( aLinesWidth.begin()+nFndPos, nWidth );
         else
             aLinesWidth[ nFndPos ] = aLinesWidth[ nFndPos ] + nWidth;
     }
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index ad98a53..eceaaa9 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -898,7 +898,7 @@ SwTableNode* SwNodes::TextToTable( const SwNodeRange& rRange, sal_Unicode cCh,
     new SwEndNode( rRange.aEnd, *pTblNd );
 
     SwDoc* pDoc = GetDoc();
-    SvUShorts aPosArr( 0, 16 );
+    std::vector<sal_uInt16> aPosArr;
     SwTable * pTable = &pTblNd->GetTable();
     SwTableLine* pLine;
     SwTableBox* pBox;
@@ -927,17 +927,16 @@ SwTableNode* SwNodes::TextToTable( const SwNodeRange& rRange, sal_Unicode cCh,
                 {
                     if( *pTxt == cCh )
                     {
-                        aPosArr.Insert( static_cast<sal_uInt16>(
-                                        aFInfo.GetCharPos( nChPos+1, sal_False )),
-                                        aPosArr.Count() );
+                        aPosArr.push_back( static_cast<sal_uInt16>(
+                                        aFInfo.GetCharPos( nChPos+1, sal_False )) );
                     }
                 }
 
-                aPosArr.Insert(
+                aPosArr.push_back(
                                 static_cast<sal_uInt16>(aFInfo.GetFrm()->IsVertical() ?
                                 aFInfo.GetFrm()->Prt().Bottom() :
-                                aFInfo.GetFrm()->Prt().Right()),
-                                aPosArr.Count() );
+                                aFInfo.GetFrm()->Prt().Right()) );
+
             }
         }
 
@@ -1046,15 +1045,15 @@ SwTableNode* SwNodes::TextToTable( const SwNodeRange& rRange, sal_Unicode cCh,
             // fehlen der 1. Line Boxen, dann kann man das Breiten Array
             // vergessen!
             if( !n )
-                aPosArr.Remove( 0, aPosArr.Count() );
+                aPosArr.clear();
         }
     }
 
-    if( aPosArr.Count() )
+    if( aPosArr.size() )
     {
         SwTableLines& rLns = pTable->GetTabLines();
         sal_uInt16 nLastPos = 0;
-        for( n = 0; n < aPosArr.Count(); ++n )
+        for( n = 0; n < aPosArr.size(); ++n )
         {
             SwTableBoxFmt *pNewFmt = pDoc->MakeTableBoxFmt();
             pNewFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE,
@@ -1283,7 +1282,7 @@ SwTableNode* SwNodes::TextToTable( const SwNodes::TableRanges_t & rTableNodes,
 #endif
 
     SwDoc* pDoc = GetDoc();
-    SvUShorts aPosArr( 0, 16 );
+    std::vector<sal_uInt16> aPosArr;
     SwTable * pTable = &pTblNd->GetTable();
     SwTableLine* pLine;
     SwTableBox* pBox;
@@ -1369,11 +1368,11 @@ SwTableNode* SwNodes::TextToTable( const SwNodes::TableRanges_t & rTableNodes,
     // die Tabelle ausgleichen, leere Sections einfuegen
     sal_uInt16 n;
 
-    if( aPosArr.Count() )
+    if( aPosArr.size() )
     {
         SwTableLines& rLns = pTable->GetTabLines();
         sal_uInt16 nLastPos = 0;
-        for( n = 0; n < aPosArr.Count(); ++n )
+        for( n = 0; n < aPosArr.size(); ++n )
         {
             SwTableBoxFmt *pNewFmt = pDoc->MakeTableBoxFmt();
             pNewFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE,
@@ -2933,7 +2932,7 @@ void SwCollectTblLineBoxes::AddToUndoHistory( const SwCntntNode& rNd )
 
 void SwCollectTblLineBoxes::AddBox( const SwTableBox& rBox )
 {
-    aPosArr.Insert( nWidth, aPosArr.Count() );
+    aPosArr.push_back(nWidth);
     SwTableBox* p = (SwTableBox*)&rBox;
     aBoxes.Insert( p, aBoxes.Count() );
     nWidth = nWidth + (sal_uInt16)rBox.GetFrmFmt()->GetFrmSize().GetWidth();
@@ -2944,9 +2943,9 @@ const SwTableBox* SwCollectTblLineBoxes::GetBoxOfPos( const SwTableBox& rBox )
     const SwTableBox* pRet = 0;
     sal_uInt16 n;
 
-    if( aPosArr.Count() )
+    if( aPosArr.size() )
     {
-        for( n = 0; n < aPosArr.Count(); ++n )
+        for( n = 0; n < aPosArr.size(); ++n )
             if( aPosArr[ n ] == nWidth )
                 break;
             else if( aPosArr[ n ] > nWidth )
@@ -2956,7 +2955,7 @@ const SwTableBox* SwCollectTblLineBoxes::GetBoxOfPos( const SwTableBox& rBox )
                 break;
             }
 
-        if( n >= aPosArr.Count() )
+        if( n >= aPosArr.size() )
             --n;
 
         nWidth = nWidth + (sal_uInt16)rBox.GetFrmFmt()->GetFrmSize().GetWidth();
@@ -2969,9 +2968,9 @@ sal_Bool SwCollectTblLineBoxes::Resize( sal_uInt16 nOffset, sal_uInt16 nOldWidth
 {
     sal_uInt16 n;
 
-    if( aPosArr.Count() )
+    if( aPosArr.size() )
     {
-        for( n = 0; n < aPosArr.Count(); ++n )
+        for( n = 0; n < aPosArr.size(); ++n )
             if( aPosArr[ n ] == nOffset )
                 break;
             else if( aPosArr[ n ] > nOffset )
@@ -2981,11 +2980,11 @@ sal_Bool SwCollectTblLineBoxes::Resize( sal_uInt16 nOffset, sal_uInt16 nOldWidth
                 break;
             }
 
-        aPosArr.Remove( 0, n );
+        aPosArr.clear();
         aBoxes.Remove( 0, n );
 
         // dann die Positionen der neuen Size anpassen
-        for( n = 0; n < aPosArr.Count(); ++n )
+        for( n = 0; n < aPosArr.size(); ++n )
         {
             sal_uLong nSize = nWidth;
             nSize *= ( aPosArr[ n ] - nOffset );
@@ -2993,7 +2992,7 @@ sal_Bool SwCollectTblLineBoxes::Resize( sal_uInt16 nOffset, sal_uInt16 nOldWidth
             aPosArr[ n ] = sal_uInt16( nSize );
         }
     }
-    return 0 != aPosArr.Count();
+    return 0 != aPosArr.size();
 }
 
 sal_Bool lcl_Line_CollectBox( const SwTableLine*& rpLine, void* pPara )
diff --git a/sw/source/core/inc/tblrwcl.hxx b/sw/source/core/inc/tblrwcl.hxx
index 23866a3..df93e44 100644
--- a/sw/source/core/inc/tblrwcl.hxx
+++ b/sw/source/core/inc/tblrwcl.hxx
@@ -27,10 +27,6 @@
  ************************************************************************/
 #ifndef _TBLRWCL_HXX
 #define _TBLRWCL_HXX
-#ifndef _SVSTDARR_HXX
-#define _SVSTDARR_USHORTS
-#include <svl/svstdarr.hxx>
-#endif
 #include <vector>
 #include <swtypes.hxx>
 #include <tblsel.hxx>
@@ -87,7 +83,7 @@ SW_DLLPUBLIC void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo = 0
 
 class SwCollectTblLineBoxes
 {
-    SvUShorts aPosArr;
+    std::vector<sal_uInt16> aPosArr;
     SwSelBoxes_SAR aBoxes;
     SwHistory* pHst;
     sal_uInt16 nMode, nWidth;
@@ -96,7 +92,7 @@ class SwCollectTblLineBoxes
 
 public:
     SwCollectTblLineBoxes( sal_Bool bTop, sal_uInt16 nMd = 0, SwHistory* pHist=0 )
-        : aPosArr( 16, 16 ), aBoxes( 16, 16 ),
+        : aBoxes( 16, 16 ),
         pHst( pHist ), nMode( nMd ), nWidth( 0 ),
         bGetFromTop( bTop ), bGetValues( sal_True )
 
@@ -111,7 +107,7 @@ public:
         {
             // hier wird die EndPos der Spalte benoetigt!
             if( pWidth )
-                *pWidth = nPos+1 == aPosArr.Count() ? nWidth
+                *pWidth = nPos+1 == aPosArr.size() ? nWidth
                                                     : aPosArr[ nPos+1 ];
             return *aBoxes[ nPos ];
         }
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 56ad4f4..a38c2d1 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -3135,7 +3135,7 @@ const ModelToViewHelper::ConversionMap*
 XubString SwTxtNode::GetRedlineTxt( xub_StrLen nIdx, xub_StrLen nLen,
                                 sal_Bool bExpandFlds, sal_Bool bWithNum ) const
 {
-    SvUShorts aRedlArr;
+    std::vector<sal_uInt16> aRedlArr;
     const SwDoc* pDoc = GetDoc();
     sal_uInt16 nRedlPos = pDoc->GetRedlinePos( *this, nsRedlineType_t::REDLINE_DELETE );
     if( USHRT_MAX != nRedlPos )
@@ -3156,18 +3156,19 @@ XubString SwTxtNode::GetRedlineTxt( xub_StrLen nIdx, xub_StrLen nLen,
                     else if( pREnd->nNode == nNdIdx )
                     {
                         // von 0 bis nContent ist alles geloescht
-                        aRedlArr.Insert( xub_StrLen(0), aRedlArr.Count() );
-                        aRedlArr.Insert( pREnd->nContent.GetIndex(), aRedlArr.Count() );
+                        aRedlArr.push_back( xub_StrLen(0) );
+                        aRedlArr.push_back( pREnd->nContent.GetIndex() );
                     }
                 }
                 else if( pRStt->nNode == nNdIdx )
                 {
-                    aRedlArr.Insert( pRStt->nContent.GetIndex(), aRedlArr.Count() );
+                    //aRedlArr.Insert( pRStt->nContent.GetIndex(), aRedlArr.Count() );
+                    aRedlArr.push_back( pRStt->nContent.GetIndex() );
                     if( pREnd->nNode == nNdIdx )
-                        aRedlArr.Insert( pREnd->nContent.GetIndex(), aRedlArr.Count() );
+                        aRedlArr.push_back( pREnd->nContent.GetIndex() );
                     else
                     {
-                        aRedlArr.Insert( GetTxt().Len(), aRedlArr.Count() );
+                        aRedlArr.push_back( GetTxt().Len() );
                         break;      // mehr kann nicht kommen
                     }
                 }
@@ -3180,7 +3181,7 @@ XubString SwTxtNode::GetRedlineTxt( xub_StrLen nIdx, xub_StrLen nLen,
     XubString aTxt( GetTxt().Copy( nIdx, nLen ) );
 
     xub_StrLen nTxtStt = nIdx, nIdxEnd = nIdx + aTxt.Len();
-    for( sal_uInt16 n = 0; n < aRedlArr.Count(); n += 2 )
+    for( sal_uInt16 n = 0; n < aRedlArr.size(); n += 2 )
     {
         xub_StrLen nStt = aRedlArr[ n ], nEnd = aRedlArr[ n+1 ];
         if( ( nIdx <= nStt && nStt <= nIdxEnd ) ||
diff --git a/sw/source/ui/app/docstyle.cxx b/sw/source/ui/app/docstyle.cxx
index b0f0734..6631e70 100644
--- a/sw/source/ui/app/docstyle.cxx
+++ b/sw/source/ui/app/docstyle.cxx
@@ -29,8 +29,6 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-#define _SVSTDARR_USHORTS
-
 #include <svl/smplhint.hxx>
 #include <hintids.hxx>
 #include <svl/itemiter.hxx>
@@ -1445,30 +1443,30 @@ void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc )
     {
     case SFX_STYLE_FAMILY_CHAR:
         {
-            SvUShorts aDelArr;
+            std::vector<sal_uInt16> aDelArr;
             const SwCharFmts& rTbl = *rDoc.GetCharFmts();
             for( n = 0, nCnt = rTbl.Count(); n < nCnt; ++n )
             {
                 void* p = (void*)rTbl[ n ];
                 if( USHRT_MAX == rArr.GetPos( p ))
-                    aDelArr.Insert( n, 0 );
+                    aDelArr.insert( aDelArr.begin(), n );
             }
-            for( n = 0, nCnt = aDelArr.Count(); n < nCnt; ++n )
+            for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n )
                 rDoc.DelCharFmt( aDelArr[ n ] );
         }
         break;
 
     case SFX_STYLE_FAMILY_PARA :
         {
-            SvUShorts aDelArr;
+            std::vector<sal_uInt16> aDelArr;
             const SwTxtFmtColls& rTbl = *rDoc.GetTxtFmtColls();
             for( n = 0, nCnt = rTbl.Count(); n < nCnt; ++n )
             {
                 void* p = (void*)rTbl[ n ];
                 if( USHRT_MAX == rArr.GetPos( p ))
-                    aDelArr.Insert( n, 0 );
+                    aDelArr.insert( aDelArr.begin(), n );
             }
-            for( n = 0, nCnt = aDelArr.Count(); n < nCnt; ++n )
+            for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n )
                 rDoc.DelTxtFmtColl( aDelArr[ n ] );
         }
         break;
@@ -1490,15 +1488,15 @@ void lcl_DeleteInfoStyles( sal_uInt16 nFamily, SvPtrarr& rArr, SwDoc& rDoc )
 
     case SFX_STYLE_FAMILY_PAGE:
         {
-            SvUShorts aDelArr;
+            std::vector<sal_uInt16> aDelArr;
             for( n = 0, nCnt = rDoc.GetPageDescCnt(); n < nCnt; ++n )
             {
                 void* p =
                     (void*)&const_cast<const SwDoc &>(rDoc).GetPageDesc( n );
                 if( USHRT_MAX == rArr.GetPos( p ))
-                    aDelArr.Insert( n, 0 );
+                    aDelArr.insert( aDelArr.begin(), n );
             }
-            for( n = 0, nCnt = aDelArr.Count(); n < nCnt; ++n )
+            for( n = 0, nCnt = aDelArr.size(); n < nCnt; ++n )
                 rDoc.DelPageDesc( aDelArr[ n ] );
         }
         break;
-- 
1.7.6.1


--------------050801000807080804050708--


More information about the LibreOffice mailing list