00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef skSTRINGTOKENIZER_H
00022 #define skSTRINGTOKENIZER_H
00023
00024 #include "skString.h"
00025
00026
00031 class CLASSEXPORT skStringTokenizer {
00032
00033
00034 public:
00045 skStringTokenizer(skString str, skString delim, bool returnDelims);
00046
00056 skStringTokenizer(skString str, skString delim);
00067 skStringTokenizer(skString str);
00068
00078 bool hasMoreTokens();
00079
00085 skString nextToken();
00098 skString nextToken(skString delim);
00106 int countTokens();
00107 private:
00108 int currentPosition;
00109 int newPosition;
00110 int maxPosition;
00111 skString str;
00112 skString delimiters;
00113 bool retDelims;
00114 bool delimsChanged;
00115
00121 Char maxDelimChar;
00122
00126 void setMaxDelimChar();
00130 void init(skString str, skString delim, bool returnDelims);
00136 int skipDelimiters(int startPos);
00141 int scanToken(int startPos);
00142 };
00143 #endif