QtCS2018 Serialisation
Jump to navigation
Jump to search
- Serialisation
* Binary JSON
* mmapable() - zero alloc
* deprecate, provide compat API to read
* how to support reading from it? BJSON → JSON → Qt 6 API?
* JSON > 128 MB
* Needs to be fixed, before Qt 6
* CBOR
* Should we have a public API that works for both JSON and CBOR?
* A DOM Tree API
* Could solve the editing-in-place issue (below)
* QJSValue too?
* QVariantMap
* How to make sure people can't insert combinations not allowed in the output?
* Do they do that? Maybe they won't write such code
* We could use templates, specialising for CBOR, JSON, etc.
* We could have a wrapper class that has inlines and provides only the possible combinations
* QDataStream
* QTextStream
* Protobuf
* QXmlStream{Reader,Writer}
- API for editing in place
* If you update an entry in a node, you have to update the chain leading to it
QCborValue foo; foo["s"] = "value"; // does not compile foo.toMap()["s"] = "value"; // updates the temporary!