#include<list>#include<string>namespaceTNet{/** * @brief General string tokenizer */classTokenizer:publicstd::list<std::string>{public:// Constructors and Destructors ............................................Tokenizer(constchar*pSeparator,boolskipEmpty=false):std::list<std::string>(),mSeparator(pSeparator),mSkipEmpty(skipEmpty){}Tokenizer(constchar*pString,constchar*pSeparator,boolskipEmpty=false):std::list<std::string>(),mSeparator(pSeparator),mSkipEmpty(skipEmpty){AddString(pString);}~Tokenizer(){}/** * @brief Parses a string and appends the tokens to the list * @param pString string to parse */voidAddString(constchar*pString);/** * @brief Constant accessor to the separators string * @return Const refference */conststd::string&Separator()const{returnmSeparator;}private:std::stringmSeparator;///< holds the list of separatorsboolmSkipEmpty;///< if true, multiple separators will be regarded as one};// class Tokenizer}// namespace TNet