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) {
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,
Splits delimited string into tokens.
void setDelimiters(const char *d)
changes the set of delimiters used in subsequent iterations.
iterator(const iterator &i)
copy constructor.
Exception thrown, if someone tried to read beyond the end of the tokens.
iterator & operator=(const iterator &i)
assignment operator.
static const char *const SPACE
a delimiter string containing all usual whitespace delimiters.
const iterator & end() const
the iterator marking the end.
iterator begin(const char *d)
returns a begin iterator with an alternate set of delimiters.
Common C++ thread class and sychronization objects.
The input forward iterator for tokens.
iterator begin() const
returns the begin iterator
GNU Common C++ exception model base classes.
void start(JoinableThread *thread, int priority=0)
Convenience function to start a joinable thread.