QtCS2018 Serialisation

From Qt Wiki
Revision as of 09:59, 11 June 2018 by Thiago Macieira (talk | contribs) (Created page with " * Serialisation * Binary JSON * mmapable() - zero alloc * deprecate, provide compat API to read * how to support reading from it? BJSON → J...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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!