diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-12-05 17:53:46 +0100 |
---|---|---|
committer | Andreas Stöckel <andreas@somweyr.de> | 2014-12-05 17:53:46 +0100 |
commit | 2069538e089696eead64169895c935ff4bc577ba (patch) | |
tree | 2da913db918ff62a3626f81383bec79abd7ab976 /src/core/variant/Reader.hpp | |
parent | 2dd08daa56c05d6c720a30fd9ec14a2471f81c5f (diff) |
implemented parsing integers and doubles
Diffstat (limited to 'src/core/variant/Reader.hpp')
-rw-r--r-- | src/core/variant/Reader.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/core/variant/Reader.hpp b/src/core/variant/Reader.hpp index 62592c1..a0c6640 100644 --- a/src/core/variant/Reader.hpp +++ b/src/core/variant/Reader.hpp @@ -28,6 +28,7 @@ #ifndef _OUSIA_VARIANT_READER_HPP_ #define _OUSIA_VARIANT_READER_HPP_ +#include <cstdint> #include <unordered_set> #include <utility> @@ -114,6 +115,31 @@ public: BufferedCharReader &reader, Logger &logger, const std::unordered_set<char> &delims); + + /** + * Parses an integer from the given buffered char reader instance until one + * of the given delimiter characters is reached. + * + * @param reader is a reference to the BufferedCharReader instance from + * which the character data should been reader. The reader will be + * positioned at the terminating delimiting character or directly after the + * integer. + */ + static std::pair<bool, int64_t> parseInteger( + BufferedCharReader &reader, Logger &logger); + + /** + * Parses an double from the given buffered char reader instance until one + * of the given delimiter characters is reached. + * + * @param reader is a reference to the BufferedCharReader instance from + * which the character data should been reader. The reader will be + * positioned at the terminating delimiting character or directly after the + * integer. + */ + static std::pair<bool, double> parseDouble( + BufferedCharReader &reader, Logger &logger); + /** * Tries to parse the most specific item from the given stream until one of * the given delimiters is reached or a meaningful literal has been read. |