class Poco::StreamTokenizer
Overview
A stream tokenizer splits an input stream into a sequence of tokens of different kinds. Moreā¦
#include <StreamTokenizer.h> class StreamTokenizer { public: // structs struct TokenInfo; // construction StreamTokenizer(); StreamTokenizer(std::istream& istr); // methods void attachToStream(std::istream& istr); void addToken(Token* pToken); void addToken( Token* pToken, bool ignore ); const Token* next(); };
Detailed Documentation
A stream tokenizer splits an input stream into a sequence of tokens of different kinds.
Various token kinds can be registered with the tokenizer.
Construction
StreamTokenizer()
Creates a StreamTokenizer with no attached stream.
StreamTokenizer(std::istream& istr)
Creates a StreamTokenizer with no attached stream.
Methods
void attachToStream(std::istream& istr)
Attaches the tokenizer to an input stream.
void addToken(Token* pToken)
Adds a token class to the tokenizer.
The tokenizer takes ownership of the token and deletes it when no longer needed. Comment and whitespace tokens will be marked as ignorable, which means that next() will not return them.
void addToken( Token* pToken, bool ignore )
Adds a token class to the tokenizer.
The tokenizer takes ownership of the token and deletes it when no longer needed. If ignore is true, the token will be marked as ignorable, which means that next() will not return it.
const Token* next()
Extracts the next token from the input stream.
Returns a pointer to an EOFToken if there are no more characters to read. Returns a pointer to an InvalidToken if an invalid character is encountered. If a token is marked as ignorable, it will not be returned, and the next token will be examined. Never returns a NULL pointer. You must not delete the token returned by next().