diff options
Diffstat (limited to 'src/qjsonparser_p.h')
-rw-r--r-- | src/qjsonparser_p.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/qjsonparser_p.h b/src/qjsonparser_p.h index d3700b2..fa08ed5 100644 --- a/src/qjsonparser_p.h +++ b/src/qjsonparser_p.h @@ -54,6 +54,7 @@ // #include <qjsondocument.h> +#include <qvarlengtharray.h> namespace QtJson { @@ -64,6 +65,22 @@ public: QtJson::QJsonDocument parse(); + class ParsedObject + { + public: + ParsedObject(QJsonParser *p, int pos) : parser(p), objectPosition(pos) {} + void insert(uint offset); + + QJsonParser *parser; + int objectPosition; + QVarLengthArray<uint> offsets; + + inline Private::Entry *entryAt(int i) const { + return reinterpret_cast<Private::Entry *>(parser->data + objectPosition + offsets[i]); + } + }; + + private: inline bool eatSpace(); inline char nextToken(); |