BlinkenArea - GitList
Repositories
Blog
Wiki
Blinker
Code
Commits
Branches
Tags
Search
Tree:
587ae25
Branches
Tags
master
Blinker
src
noarch
StringParser.h
namespace for preprocessor constants
Stefan Schuermans
commited
587ae25
at 2011-12-14 20:23:49
StringParser.h
Blame
History
Raw
/* Blinker Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org> Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html a blinkenarea.org project */ #ifndef BLINKER_STRINGPARSER_H #define BLINKER_STRINGPARSER_H #include <string> namespace Blinker { /// a simple string parser class StringParser { public: /** * @brief constructor * @param[in] str string to parse */ StringParser(const std::string &str); public: /** * @brief parse fixed character * @param[in] chr character to expect * @return if expected character was found and processed */ bool fixChr(char chr); /** * @brief parse one character ot of a set * @param[in] set set of characters allowed * @param[out] chr character parsed * @return if a character from the set was found and processed */ bool oneChrOf(const std::string &set, char &chr); /** * @brief parse unsigned number * @param[out] uint number parsed from string * @return if parsing was successful */ bool uintNo(unsigned int &uint); /** * @brief parse unsigned number and check minimum * @param[in] min minimum value to expect * @param[out] uint number parsed from string * @return if parsing was successful */ bool uintMin(unsigned int min, unsigned int &uint); /** * @brief parse signed number * @param[out] sint number parsed from string * @return if parsing was successful */ bool sintNo(int &sint); /** * @brief check if parsing is done * @return if parsing is done (i.e. has arrived at the end of the string) */ bool isDone(); protected: std::string m_str; ///< string begin parsed std::string::const_iterator m_it; ///< current position of parsing }; // class StringParser } // namespace Blinker #endif // #ifndef BLINKER_STRINGPARSER_H