From 2069538e089696eead64169895c935ff4bc577ba Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Fri, 5 Dec 2014 17:53:46 +0100 Subject: implemented parsing integers and doubles --- src/core/variant/Reader.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/core/variant/Reader.hpp') 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 #include #include @@ -114,6 +115,31 @@ public: BufferedCharReader &reader, Logger &logger, const std::unordered_set &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 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 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. -- cgit v1.2.3