X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/tokenzr.h diff --git a/interface/wx/tokenzr.h b/interface/wx/tokenzr.h index ef717d86e5..0f912af74f 100644 --- a/interface/wx/tokenzr.h +++ b/interface/wx/tokenzr.h @@ -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,6 +58,9 @@ enum wxStringTokenizerMode wxTOKEN_STRTOK }; +/// Default wxStringTokenizer delimiters are the usual white space characters. +#define wxDEFAULT_DELIMITERS " \t\r\n" + /** @class wxStringTokenizer @@ -88,7 +90,7 @@ enum wxStringTokenizerMode @library{wxbase} @category{data} - @see wxStringTokenize() + @see ::wxStringTokenize() */ class wxStringTokenizer : public wxObject { @@ -106,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); /** @@ -115,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 @@ -125,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. */ @@ -154,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); + +//@}