blob: 1ec0ab60f702bfe7112d2a03e617259ab2633b29 [file] [log] [blame]
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +00001/*! \page roadmap JsonCpp roadmap
Baptiste Lepilleur377d21e2010-04-14 13:17:26 +00002 \section ms_64bits Adds support for 64 bits integer
3 There has been many request to add support for 64 bits integer. Use case for this are:
4 - time is nowdays commonly represented with a 64 bits integer
5 - 64 bits integer are frequently used as primary key id in many systems
6
7 Plans to add support is:
8 - must be optional, a configuration option since not all platforms provides 64 bits integer types.
9 - move definition of Int and UInt from forwards.h to config.h, with the required platform magic.
10 - C++ defines no standard to define 64 bits integer. Rely on msvc extension, and long long type that
11 is widely supported.
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000012 \section ms_release Makes JsonCpp ready for release
13 - Build system clean-up:
14 - Fix build on Windows (shared-library build is broken)
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000015 - Add enable/disable flag for static and shared library build
16 - Enhance help
Baptiste Lepilleur8c2f18c2010-02-21 14:24:52 +000017 - Platform portability check: (Notes: was ok on last check)
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000018 - linux/gcc,
19 - solaris/cc,
20 - windows/msvc678,
21 - aix/vacpp
22 - Add JsonCpp version to header as numeric for use in preprocessor test
23 - Remove buggy experimental hash stuff
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000024 \section ms_strict Adds a strict mode to reader/parser
25 Strict JSON support as specific in RFC 4627 (http://www.ietf.org/rfc/rfc4627.txt?number=4627).
Baptiste Lepilleurf66d3702008-01-20 16:49:53 +000026 - Enforce only object or array as root element
27 - Disable comment support
Baptiste Lepilleur8c2f18c2010-02-21 14:24:52 +000028 - Get jsonchecker failing tests to pass in strict mode
Baptiste Lepilleur402c13e2010-04-27 16:37:50 +000029 \section ms_writer Writter control
30 Provides more control to determine how specific items are serialized when JSON allow choice:
31 - Optionally allow escaping of non-ASCII characters using unicode escape sequence "\\u".
32 - Optionally allow escaping of "/" using "\/".
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000033 \section ms_separation Expose json reader/writer API that do not impose using Json::Value.
34 Some typical use-case involve an application specific structure to/from a JSON document.
Baptiste Lepilleur8c2f18c2010-02-21 14:24:52 +000035 - Event base parser to allow unserializing a Json document directly in datastructure instead of
36 using the intermediate Json::Value.
37 - "Stream" based parser to serialized a Json document without using Json::Value as input.
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000038 - Performance oriented parser/writer:
39 - Provides an event based parser. Should allow pulling & skipping events for ease of use.
40 - Provides a JSON document builder: fast only.
41 \section ms_perfo Performance tuning
Baptiste Lepilleur402c13e2010-04-27 16:37:50 +000042 - Provides support for static property name definition avoiding allocation
Baptiste Lepilleur4882d0a2008-01-19 12:12:35 +000043 - Static property dictionnary can be provided to JSON reader
44 - Performance scenario & benchmarking
45*/