X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..f2bbd25d26beb146eb10415511aafe9fe89b1f97:/include/wx/tokenzr.h diff --git a/include/wx/tokenzr.h b/include/wx/tokenzr.h index 4890d6260f..d47d52c324 100644 --- a/include/wx/tokenzr.h +++ b/include/wx/tokenzr.h @@ -58,17 +58,21 @@ public: void Reinit(const wxString& str); // tokens access - // count them + // return the number of remaining tokens size_t CountTokens() const; // did we reach the end of the string? bool HasMoreTokens() const; // get the next token, will return empty string if !HasMoreTokens() wxString GetNextToken(); + // get the delimiter which terminated the token last retrieved by + // GetNextToken() or NUL if there had been no tokens yet or the last + // one wasn't terminated (but ran to the end of the string) + wxChar GetLastDelimiter() const { return m_lastDelim; } // get current tokenizer state // returns the part of the string which remains to tokenize (*not* the // initial string) - wxString GetString() const { return m_string; } + wxString GetString() const { return m_string.substr(m_pos); } // returns the current position (i.e. one index after the last // returned token or 0 if GetNextToken() has never been called) in the @@ -79,6 +83,9 @@ public: // get the current mode - can be different from the one passed to the // ctor if it was wxTOKEN_DEFAULT wxStringTokenizerMode GetMode() const { return m_mode; } + // do we return empty tokens? + bool AllowEmpty() const { return m_mode != wxTOKEN_STRTOK; } + // backwards compatibility section from now on // ------------------------------------------- @@ -104,14 +111,14 @@ public: protected: bool IsOk() const { return m_mode != wxTOKEN_INVALID; } - wxString m_string, // the (rest of) string to tokenize - m_delims; // all delimiters + wxString m_string, // the string we tokenize + m_delims; // all possible delimiters - size_t m_pos; // the position in the original string + size_t m_pos; // the current position in m_string wxStringTokenizerMode m_mode; // see wxTOKEN_XXX values - bool m_hasMore; // do we have more (possible empty) tokens? + wxChar m_lastDelim; // delimiter after last token or '\0' }; // ----------------------------------------------------------------------------