]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/tokenzr.h
support for iPhone callbacks
[wxWidgets.git] / interface / wx / tokenzr.h
index ef717d86e5c99e431caf1f1e1751dec1ae4d5964..9e9b060d901fd0ec1cfc8b9faeab5fc86512fe51 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxStringTokenizer
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxStringTokenizer
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -28,8 +28,8 @@ enum wxStringTokenizerMode
 
     /**
         In this mode, the empty tokens in the middle of the string will be returned,
 
     /**
         In this mode, the empty tokens in the middle of the string will be returned,
-        i.e. @c "a::b:" will be tokenized in three tokens @c 'a', " and @c 'b'. Notice
-        that all trailing delimiters are ignored in this mode, not just the last one,
+        i.e. @c "a::b:" will be tokenized in three tokens @c 'a', @c '' and @c 'b'. 
+        Notice that all trailing delimiters are ignored in this mode, not just the last one,
         i.e. a string @c "a::b::" would still result in the same set of tokens.
     */
     wxTOKEN_RET_EMPTY,
         i.e. a string @c "a::b::" would still result in the same set of tokens.
     */
     wxTOKEN_RET_EMPTY,
@@ -59,6 +59,9 @@ enum wxStringTokenizerMode
     wxTOKEN_STRTOK
 };
 
     wxTOKEN_STRTOK
 };
 
+/// Default wxStringTokenizer delimiters are the usual white space characters.
+#define wxDEFAULT_DELIMITERS " \t\r\n"
+
 /**
     @class wxStringTokenizer
 
 /**
     @class wxStringTokenizer
 
@@ -88,7 +91,7 @@ enum wxStringTokenizerMode
     @library{wxbase}
     @category{data}
 
     @library{wxbase}
     @category{data}
 
-    @see wxStringTokenize()
+    @see ::wxStringTokenize()
 */
 class wxStringTokenizer : public wxObject
 {
 */
 class wxStringTokenizer : public wxObject
 {
@@ -106,7 +109,7 @@ public:
         @see SetString()
    */
     wxStringTokenizer(const wxString& str,
         @see SetString()
    */
     wxStringTokenizer(const wxString& str,
-                      const wxString& delims = " \t\r\n",
+                      const wxString& delims = wxDEFAULT_DELIMITERS,
                       wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
 
     /**
                       wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
 
     /**
@@ -115,7 +118,7 @@ public:
         GetNextToken() is called and when it reaches 0, HasMoreTokens()
         returns @false.
     */
         GetNextToken() is called and when it reaches 0, HasMoreTokens()
         returns @false.
     */
-    int CountTokens() const;
+    size_t CountTokens() const;
 
     /**
         Returns the delimiter which ended scan for the last token returned by
 
     /**
         Returns the delimiter which ended scan for the last token returned by
@@ -125,15 +128,15 @@ public:
 
         @since 2.7.0
     */
 
         @since 2.7.0
     */
-    wxChar GetLastDelimiter();
+    wxChar GetLastDelimiter() const;
 
     /**
         Returns the next token or empty string if the end of string was reached.
     */
 
     /**
         Returns the next token or empty string if the end of string was reached.
     */
-    wxString GetNextToken() const;
+    wxString GetNextToken();
 
     /**
 
     /**
-        Returns the current position (i.e. one index after the last returned
+        Returns the current position (i.e.\ one index after the last returned
         token or 0 if GetNextToken() has never been called) in the original
         string.
     */
         token or 0 if GetNextToken() has never been called) in the original
         string.
     */
@@ -154,7 +157,29 @@ public:
         containing delimiters, and the @a mode specifying how the string
         should be tokenized.
     */
         containing delimiters, and the @a mode specifying how the string
         should be tokenized.
     */
-    void SetString(const wxString& to_tokenize,
-                   const wxString& delims = " \t\r\n",
+    void SetString(const wxString& str,
+                   const wxString& delims = wxDEFAULT_DELIMITERS,
                    wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
 };
                    wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
 };
+
+
+/** @addtogroup group_funcmacro_string */
+//@{
+
+/**
+    This is a convenience function wrapping wxStringTokenizer which simply 
+    returns all tokens found in the given @a str as an array.
+
+    Please see wxStringTokenizer::wxStringTokenizer for the description 
+    of the other parameters.
+
+    @return The array with the parsed tokens.
+
+    @header{wx/tokenzr.h}
+*/
+wxArrayString 
+wxStringTokenize(const wxString& str,
+                 const wxString& delims = wxDEFAULT_DELIMITERS,
+                 wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
+
+//@}