]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/tokenzr.h
Ensure that the overall table border doesn't get overdrawn by cell borders with a...
[wxWidgets.git] / interface / wx / tokenzr.h
index f576de6b5e944abe18069ea4595a0b3bd659b551..0f912af74f118631cbf32c0f80ac58c48ec72144 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        tokenzr.h
 // Purpose:     interface of wxStringTokenizer
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -28,8 +27,8 @@ enum wxStringTokenizerMode
 
     /**
         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,
@@ -59,9 +58,11 @@ enum wxStringTokenizerMode
     wxTOKEN_STRTOK
 };
 
+/// Default wxStringTokenizer delimiters are the usual white space characters.
+#define wxDEFAULT_DELIMITERS " \t\r\n"
+
 /**
     @class wxStringTokenizer
-    @wxheader{tokenzr.h}
 
     wxStringTokenizer helps you to break a string up into a number of tokens.
     It replaces the standard C function @c strtok() and also extends it in a
@@ -89,7 +90,7 @@ enum wxStringTokenizerMode
     @library{wxbase}
     @category{data}
 
-    @see wxStringTokenize()
+    @see ::wxStringTokenize()
 */
 class wxStringTokenizer : public wxObject
 {
@@ -107,7 +108,7 @@ public:
         @see SetString()
    */
     wxStringTokenizer(const wxString& str,
-                      const wxString& delims = " \t\r\n",
+                      const wxString& delims = wxDEFAULT_DELIMITERS,
                       wxStringTokenizerMode mode = wxTOKEN_DEFAULT);
 
     /**
@@ -116,7 +117,7 @@ public:
         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
@@ -126,15 +127,15 @@ public:
 
         @since 2.7.0
     */
-    wxChar GetLastDelimiter();
+    wxChar GetLastDelimiter() const;
 
     /**
         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.
     */
@@ -155,7 +156,29 @@ public:
         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);
 };
+
+
+/** @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);
+
+//@}