[PATCH 2/8] fdo#38831 convert SvStrings to std::vector misc

Brad Sowden code at sowden.org
Wed Dec 28 13:25:56 PST 2011


---
 sw/inc/SwXMLSectionList.hxx             |    6 +++---
 sw/inc/shellio.hxx                      |    6 +++---
 sw/source/core/swg/SwXMLSectionList.cxx |    9 ++++-----
 sw/source/filter/basflt/shellio.cxx     |    2 +-
 sw/source/filter/inc/fltini.hxx         |    4 ++--
 sw/source/filter/xml/swxml.cxx          |   12 +++---------
 sw/source/ui/dialog/uiregionsw.cxx      |   10 +++++-----
 7 files changed, 21 insertions(+), 28 deletions(-)

diff --git a/sw/inc/SwXMLSectionList.hxx b/sw/inc/SwXMLSectionList.hxx
index 0467864..c59fda7 100644
--- a/sw/inc/SwXMLSectionList.hxx
+++ b/sw/inc/SwXMLSectionList.hxx
@@ -31,7 +31,7 @@
 #include <xmloff/xmlictxt.hxx>
 #include <xmloff/xmlimp.hxx>
 
-class SvStrings;
+class vector;
 
 class SwXMLSectionList : public SvXMLImport
 {
@@ -43,11 +43,11 @@ protected:
                   const ::com::sun::star::uno::Reference<
                     ::com::sun::star::xml::sax::XAttributeList > & xAttrList );
 public:
-    SvStrings & rSectionList;
+    std::vector<String*> &rSectionList;
 
     SwXMLSectionList(
         const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory,
-        SvStrings & rNewSectionList );
+        std::vector<String*> &rNewSectionList );
 
     virtual ~SwXMLSectionList ( )
         throw();
diff --git a/sw/inc/shellio.hxx b/sw/inc/shellio.hxx
index 56cd063..0b91804 100644
--- a/sw/inc/shellio.hxx
+++ b/sw/inc/shellio.hxx
@@ -56,7 +56,6 @@ class SfxItemSet;
 class SfxMedium;
 class SvPtrarr;
 class SvStream;
-class SvStrings;
 class SvxFontItem;
 class SvxMacroTableDtor;
 class SwCntntNode;
@@ -64,6 +63,7 @@ class SwCrsrShell;
 class SwDoc;
 class SwPaM;
 class SwTextBlocks;
+class vector;
 struct SwPosition;
 struct Writer_Impl;
 
@@ -272,8 +272,8 @@ public:
 
     // Read the sections of the document, which is equal to the medium.
     // Returns the count of it
-    virtual sal_uInt16 GetSectionList( SfxMedium& rMedium,
-                                    SvStrings& rStrings ) const;
+    virtual size_t GetSectionList( SfxMedium& rMedium,
+                                   std::vector<String*>& rStrings ) const;
 
     SotStorageRef getSotStorageRef() { return pStg; };
     void setSotStorageRef(SotStorageRef pStgRef) { pStg = pStgRef; };
diff --git a/sw/source/core/swg/SwXMLSectionList.cxx b/sw/source/core/swg/SwXMLSectionList.cxx
index 1d00774..3a1adfd 100644
--- a/sw/source/core/swg/SwXMLSectionList.cxx
+++ b/sw/source/core/swg/SwXMLSectionList.cxx
@@ -26,12 +26,11 @@
  *
  ************************************************************************/
 
-#define _SVSTDARR_STRINGSDTOR
-#define _SVSTDARR_STRINGS
-#include <svl/svstdarr.hxx>
 #include <SwXMLSectionList.hxx>
 #include <xmloff/nmspmap.hxx>
 #include <xmloff/xmlnmspe.hxx>
+#include <tools/string.hxx>
+#include <vector>
 
 using namespace ::com::sun::star;
 using ::rtl::OUString;
@@ -43,7 +42,7 @@ sal_Char const sXML_np__text[] = "_otext";
 // #110680#
 SwXMLSectionList::SwXMLSectionList(
     const uno::Reference< lang::XMultiServiceFactory > xServiceFactory,
-    SvStrings & rNewSectionList)
+    std::vector<String*> &rNewSectionList)
 :   SvXMLImport( xServiceFactory ),
     rSectionList ( rNewSectionList )
 {
@@ -121,7 +120,7 @@ SvXMLImportContext *SvXMLSectionListContext::CreateChildContext(
                 sName = rAttrValue;
         }
         if ( sName.Len() )
-            rLocalRef.rSectionList.Insert ( new String(sName), rLocalRef.rSectionList.Count() );
+            rLocalRef.rSectionList.push_back( new String(sName) );
     }
 
     pContext = new SvXMLSectionListContext (rLocalRef, nPrefix, rLocalName, xAttrList);
diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx
index 3999f47..35f8409 100644
--- a/sw/source/filter/basflt/shellio.cxx
+++ b/sw/source/filter/basflt/shellio.cxx
@@ -682,7 +682,7 @@ void Reader::ResetFrmFmts( SwDoc& rDoc )
 
     // read the sections of the document, which is equal to the medium.
     // returns the count of it
-sal_uInt16 Reader::GetSectionList( SfxMedium&, SvStrings& ) const
+size_t Reader::GetSectionList( SfxMedium&, std::vector<String*>& ) const
 {
     return 0;
 }
diff --git a/sw/source/filter/inc/fltini.hxx b/sw/source/filter/inc/fltini.hxx
index 5b546c0..47e6cc1 100644
--- a/sw/source/filter/inc/fltini.hxx
+++ b/sw/source/filter/inc/fltini.hxx
@@ -64,8 +64,8 @@ public:
 
     // read the sections of the document, which is equal to the medium.
     // returns the count of it
-    virtual sal_uInt16 GetSectionList( SfxMedium& rMedium,
-                                SvStrings& rStrings ) const;
+    virtual size_t GetSectionList( SfxMedium& rMedium,
+                                   std::vector<String*>& rStrings ) const;
 };
 
 // die speziellen Writer
diff --git a/sw/source/filter/xml/swxml.cxx b/sw/source/filter/xml/swxml.cxx
index b6684bd..3f29d8c 100644
--- a/sw/source/filter/xml/swxml.cxx
+++ b/sw/source/filter/xml/swxml.cxx
@@ -27,10 +27,6 @@
  ************************************************************************/
 
 
-
-
-
-#define _SVSTDARR_STRINGS
 #include <rsc/rscsfx.hxx>
 #include <tools/urlobj.hxx>
 #include <com/sun/star/embed/XStorage.hpp>
@@ -51,7 +47,6 @@
 #include <com/sun/star/packages/zip/ZipIOException.hpp>
 #include <com/sun/star/packages/WrongPasswordException.hpp>
 #include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
-#include <svl/svstdarr.hxx>
 #include <sfx2/docfile.hxx>
 #include <svtools/sfxecode.hxx>
 #include <svl/stritem.hxx>
@@ -1067,8 +1062,8 @@ sal_uLong XMLReader::Read( SwDoc &rDoc, const String& rBaseURL, SwPaM &rPaM, con
 
     // read the sections of the document, which is equal to the medium.
     // returns the count of it
-sal_uInt16 XMLReader::GetSectionList( SfxMedium& rMedium,
-                                    SvStrings& rStrings ) const
+size_t XMLReader::GetSectionList( SfxMedium& rMedium,
+                                  std::vector<String*>& rStrings ) const
 {
     uno::Reference< lang::XMultiServiceFactory > xServiceFactory =
             comphelper::getProcessServiceFactory();
@@ -1095,7 +1090,6 @@ sal_uInt16 XMLReader::GetSectionList( SfxMedium& rMedium,
             if( xXMLParser.is() )
             {
                 // get filter
-                // uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLSectionList( rStrings );
                 uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLSectionList( xServiceFactory, rStrings );
 
                 // connect parser and filter
@@ -1123,7 +1117,7 @@ sal_uInt16 XMLReader::GetSectionList( SfxMedium& rMedium,
             // re throw ?
         }
     }
-    return rStrings.Count();
+    return rStrings.size();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 9f262d4..8c28df4 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -1494,16 +1494,16 @@ static void lcl_ReadSections( SfxMedium& rMedium, ComboBox& rBox )
     uno::Reference < embed::XStorage > xStg;
     if( rMedium.IsStorage() && (xStg = rMedium.GetStorage()).is() )
     {
-        SvStrings aArr( 10, 10 );
+        std::vector<String*> aArr;
         sal_uInt32 nFormat = SotStorage::GetFormatID( xStg );
         if ( nFormat == SOT_FORMATSTR_ID_STARWRITER_60 || nFormat == SOT_FORMATSTR_ID_STARWRITERGLOB_60 ||
             nFormat == SOT_FORMATSTR_ID_STARWRITER_8 || nFormat == SOT_FORMATSTR_ID_STARWRITERGLOB_8)
             SwGetReaderXML()->GetSectionList( rMedium, aArr );
 
-        for( sal_uInt16 n = 0; n < aArr.Count(); ++n )
-            rBox.InsertEntry( *aArr[ n ] );
-
-        aArr.DeleteAndDestroy(0, aArr.Count());
+        for(std::vector<String*>::const_iterator it(aArr.begin()); it != aArr.end(); ++it) {
+            rBox.InsertEntry( **it );
+            delete *it;
+        }
     }
 }
 
-- 
1.7.7.4


--------------060703080001010703050601--


More information about the LibreOffice mailing list