44 #ifndef COMMONCPP_TOKENIZER_H_
45 #define COMMONCPP_TOKENIZER_H_
47 #ifndef COMMONCPP_CONFIG_H_
48 #include <commoncpp/config.h>
51 #ifndef COMMONCPP_THREAD_H_
55 #ifndef COMMMONCPP_EXCEPTION_H_
140 : myTok(&tok),tokEnd(0),endp(end),token(0) {}
143 : myTok(&tok),tokEnd(0),endp(myTok->str-1),token(0) {
148 iterator() : myTok(0),start(0),tokEnd(0),endp(0),token(0) {}
152 {
if (token) *token=
'\0';
delete [] token; }
159 myTok(i.myTok),start(i.start),tokEnd(i.tokEnd),
160 endp(i.endp),token(0) {}
168 start = i.start; endp = i.endp; tokEnd = i.tokEnd;
188 const
char* operator*() THROWS (NoSuchElementException);
196 inline
char nextDelimiter()
const
197 {
return (tokEnd) ? *tokEnd :
'\0';}
204 inline bool operator == (
const iterator &other)
const
205 {
return (endp == other.endp);}
212 inline bool operator != (
const iterator &other)
const
213 {
return (endp != other.endp);}
263 bool skipAllDelim =
false,
iterator & operator=(const iterator &i)
assignment operator.
GNU Common C++ exception model base classes.
void setDelimiters(const char *d)
changes the set of delimiters used in subsequent iterations.
static const char *const SPACE
a delimiter string containing all usual whitespace delimiters.
const iterator & end() const
the iterator marking the end.
The input forward iterator for tokens.
iterator begin() const
returns the begin iterator
Exception thrown, if someone tried to read beyond the end of the tokens.
Splits delimited string into tokens.
Common C++ thread class and sychronization objects.
iterator(const iterator &i)
copy constructor.
iterator begin(const char *d)
returns a begin iterator with an alternate set of delimiters.