#include <G4Tokenizer.hh>
Public Member Functions | |
G4Tokenizer (const G4String &stn) | |
G4SubString | operator() (const char *str=" \t\n", size_t l=0) |
Definition at line 48 of file G4Tokenizer.hh.
G4Tokenizer::G4Tokenizer | ( | const G4String & | stn | ) | [inline] |
G4SubString G4Tokenizer::operator() | ( | const char * | str = " \t\n" , |
|
size_t | l = 0 | |||
) | [inline] |
Definition at line 53 of file G4Tokenizer.hh.
00054 { 00055 size_t i,j,tmp; 00056 G4bool hasws=false; 00057 if(l==0) l=strlen(str); 00058 //Skip leading delimeters 00059 while(actual<string2tokenize.size()) 00060 { 00061 00062 for(i=0;i<l;i++) 00063 if(string2tokenize[actual]==str[i]) hasws=true; 00064 if(hasws) 00065 { 00066 actual++; 00067 hasws=false; 00068 } 00069 else 00070 break; 00071 } 00072 00073 for(j=actual;j<string2tokenize.size();j++) 00074 { 00075 for(i=0;i<l;i++) 00076 if(string2tokenize[j]==str[i]) break; 00077 if(i<l) break; 00078 } 00079 if(j!=string2tokenize.size()) 00080 { 00081 tmp=actual; 00082 actual=j+1; 00083 return string2tokenize(tmp,j-tmp); 00084 } 00085 else 00086 { 00087 tmp=actual; 00088 actual=j; 00089 return string2tokenize(tmp,j-tmp); 00090 } 00091 }