00001 #ifndef __TOKEN_H 00002 #define __TOKEN_H 00003 00004 #include "GArray.h" 00005 00007 LgiFunc bool LgiIsNumber(char *p); 00008 00010 LgiFunc char *LgiSkipDelim(char *p, char *Delimiter = " \r\n\t"); 00011 00013 class LgiClass GToken : public GArray<char*> 00014 { 00015 char *Raw; 00016 00017 public: 00018 GToken(); 00019 GToken(const char *Str, const char *Delimiters = " \r\n\t,", bool GroupDelim = true, int Length = -1); 00020 ~GToken(); 00021 00023 void Parse(const char *Str, const char *Delimiters = " \r\n\t,", bool GroupDelim = true, int Length = -1); 00024 00026 void Empty(); 00027 00029 void AppendTokens(GArray<char*> *T); 00030 00031 char *&operator [](uint32 i) 00032 { 00033 if (i < Length()) 00034 return GArray<char*>::operator[](i); 00035 00036 static char *Null = 0; 00037 return Null; 00038 } 00039 }; 00040 00041 #endif