summaryrefslogtreecommitdiffstats
path: root/src/qjsonparser_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qjsonparser_p.h')
-rw-r--r--src/qjsonparser_p.h17
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();