00001
00002
00003
00004
00005
00006
00007 #ifndef skSTRINGTOKENIZER_H
00008 #define skSTRINGTOKENIZER_H
00009
00010 #include "skString.h"
00011
00012
00017 class CLASSEXPORT skStringTokenizer {
00018
00019
00020 public:
00031 skStringTokenizer(skString str, skString delim, bool returnDelims);
00032
00042 skStringTokenizer(skString str, skString delim);
00053 skStringTokenizer(skString str);
00054
00064 bool hasMoreTokens();
00065
00071 skString nextToken();
00084 skString nextToken(skString delim);
00092 int countTokens();
00093 private:
00094 int currentPosition;
00095 int newPosition;
00096 int maxPosition;
00097 skString str;
00098 skString delimiters;
00099 bool retDelims;
00100 bool delimsChanged;
00101
00107 char maxDelimChar;
00108
00112 void setMaxDelimChar();
00116 void init(skString str, skString delim, bool returnDelims);
00122 int skipDelimiters(int startPos);
00127 int scanToken(int startPos);
00128 };
00129 #endif