]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/tokenzr.h
improvements to zlib streams (patch 929416):
[wxWidgets.git] / include / wx / tokenzr.h
index 9a08ddb460bb7f147d006dc55269fd0a1579092e..dde0752f0b03f8de390c5bab086567a205512cc7 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        wx/tokenzr.h
 // Purpose:     String tokenizer - a C++ replacement for strtok(3)
 // Author:      Guilhem Lavaux
-// Modified by: Vadim Zeitlin
+// Modified by: (or rather rewritten by) Vadim Zeitlin
 // Created:     04/22/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Guilhem Lavaux
 #ifndef _WX_TOKENZRH
 #define _WX_TOKENZRH
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "tokenzr.h"
 #endif
 
 #include "wx/object.h"
 #include "wx/string.h"
+#include "wx/arrstr.h"
 
 // ----------------------------------------------------------------------------
 // constants
@@ -41,7 +42,7 @@ enum wxStringTokenizerMode
 // wxStringTokenizer: replaces infamous strtok() and has some other features
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxStringTokenizer : public wxObject
+class WXDLLIMPEXP_BASE wxStringTokenizer : public wxObject
 {
 public:
     // ctors and initializers
@@ -92,7 +93,7 @@ public:
     // compatibility only, don't use
     void SetString(const wxString& to_tokenize,
                    const wxString& delims,
-                   bool ret_delim)
+                   bool WXUNUSED(ret_delim))
     {
         SetString(to_tokenize, delims, wxTOKEN_RET_DELIMS);
     }
@@ -117,4 +118,15 @@ protected:
     bool     m_hasMore;             // do we have more (possible empty) tokens?
 };
 
+// ----------------------------------------------------------------------------
+// convenience function which returns all tokens at once
+// ----------------------------------------------------------------------------
+
+// the function takes the same parameters as wxStringTokenizer ctor and returns
+// the array containing all tokens
+wxArrayString WXDLLIMPEXP_BASE
+wxStringTokenize(const wxString& str,
+                 const wxString& delims = wxDEFAULT_DELIMITERS,
+                 wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
+
 #endif // _WX_TOKENZRH