00001 #ifndef STRINGTOKENIZER_HPP 00002 #define STRINGTOKENIZER_HPP 00003 00004 00005 #include <string> 00006 00007 using namespace std; 00008 00009 //This class is not multithread safe 00018 class StringTokenizer{ 00019 00020 private: 00021 00022 std::string tokenizable; 00023 int nextAnalyzableChar; 00024 int remainingTokens; 00025 int initialTokenCount(); 00027 public: 00028 00034 StringTokenizer(const std::string & tokenizable_); 00035 00039 std::string nextToken(); 00040 00044 bool hasMoreTokens(); 00045 00049 int countTokens(); 00050 00055 string getRemainingTokens(); 00056 00057 }; 00058 00059 00060 00061 #endif //STRINGTOKENIZER_HPP