From e73d4886ea69a9f7e2b7281d415e50f66af5fba4 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Mon, 21 Oct 2019 16:47:20 -0700 Subject: [PATCH] doc work --- .gitignore | 9 +- Jamfile | 2 + README.md | 4 +- doc/Jamfile | 50 ++- doc/images/doc-logo.png | Bin 0 -> 106748 bytes doc/qbk/benchmarks.qbk | 52 +++ doc/qbk/comparison.qbk | 214 +++++++++++++ doc/qbk/index.xml | 2 +- doc/qbk/main.qbk | 300 ++++-------------- doc/qbk/overview.qbk | 182 +++++++++++ doc/qbk/quickref.qbk | 2 +- doc/qbk/usage.qbk | 31 ++ doc/source.dox | 4 +- doc/xsl/includes_foot.xsl | 5 + include/boost/json/basic_parser.hpp | 2 +- include/boost/json/detail/assert.hpp | 21 ++ include/boost/json/detail/buffer.hpp | 2 +- include/boost/json/detail/config.hpp | 60 ++-- include/boost/json/detail/exchange.hpp | 31 ++ include/boost/json/detail/iterator.hpp | 19 +- include/boost/json/detail/iterator.ipp | 16 +- include/boost/json/detail/make_void.hpp | 31 ++ .../boost/json/detail/ryu/detail/common.hpp | 16 +- include/boost/json/detail/ryu/detail/d2s.hpp | 7 +- .../json/detail/ryu/detail/d2s_intrinsics.hpp | 14 +- .../boost/json/detail/ryu/impl/d2fixed.ipp | 8 +- include/boost/json/detail/ryu/impl/d2s.ipp | 4 +- include/boost/json/detail/ryu/impl/f2s.ipp | 17 +- include/boost/json/detail/stack.hpp | 8 +- include/boost/json/detail/static_const.hpp | 49 --- include/boost/json/detail/string.hpp | 41 +++ include/boost/json/detail/system_error.hpp | 47 +++ include/boost/json/detail/value.hpp | 10 +- include/boost/json/error.hpp | 15 +- include/boost/json/impl/array.hpp | 1 - include/boost/json/impl/array.ipp | 16 +- include/boost/json/impl/basic_parser.ipp | 24 +- include/boost/json/impl/object.hpp | 4 +- include/boost/json/impl/object.ipp | 19 +- include/boost/json/impl/parser.ipp | 53 ++-- include/boost/json/impl/serializer.ipp | 11 +- include/boost/json/impl/storage.ipp | 5 +- include/boost/json/impl/string.hpp | 1 - include/boost/json/impl/string.ipp | 8 +- include/boost/json/impl/value.hpp | 3 +- include/boost/json/number.hpp | 2 +- include/boost/json/object.hpp | 2 +- include/boost/json/parser.hpp | 3 +- include/boost/json/serializer.hpp | 1 + include/boost/json/storage.hpp | 13 +- include/boost/json/string.hpp | 6 +- include/boost/json/value.hpp | 2 +- include/boost/pilfer.hpp | 5 +- test/array.cpp | 2 +- test/kind.cpp | 3 +- test/object.cpp | 43 ++- test/parse-vectors.hpp | 12 +- test/ryu/d2fixed_test.cpp | 11 +- test/ryu/d2s_test.cpp | 5 +- test/ryu/gtest.hpp | 8 - test/value.cpp | 7 +- 61 files changed, 991 insertions(+), 554 deletions(-) create mode 100644 doc/images/doc-logo.png create mode 100644 doc/qbk/benchmarks.qbk create mode 100644 doc/qbk/comparison.qbk create mode 100644 doc/qbk/overview.qbk create mode 100644 doc/qbk/usage.qbk create mode 100644 include/boost/json/detail/assert.hpp create mode 100644 include/boost/json/detail/exchange.hpp create mode 100644 include/boost/json/detail/make_void.hpp delete mode 100644 include/boost/json/detail/static_const.hpp create mode 100644 include/boost/json/detail/string.hpp create mode 100644 include/boost/json/detail/system_error.hpp diff --git a/.gitignore b/.gitignore index 217a2c3a..4c0706d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ -bin/ -bin64/ +bin +bin64 *.*# +temp # Because of CMake and VS2017 -Win32/ -x64/ +Win32 +x64 diff --git a/Jamfile b/Jamfile index 90f8ec9d..f603e4b3 100644 --- a/Jamfile +++ b/Jamfile @@ -7,4 +7,6 @@ # Official repository: https://github.com/vinniefalco/json # +path-constant LIB_DIR : . ; + build-project test ; diff --git a/README.md b/README.md index 6f291fc3..b8bf9e64 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ Branch | Travis | Appveyor | Azure Pipelines | codecov.io | Docs | Matrix | :-------------: | ------ | -------- | --------------- | ---------- | ---- | ------ | -[`master`](https://github.com/vinniefalco/json/tree/master) | [![Build Status](https://travis-ci.org/vinniefalco/json.svg?branch=master)](https://travis-ci.org/vinniefalco/json) | [![Build status](https://ci.appveyor.com/api/projects/status/github/vinniefalco/json?branch=master&svg=true)](https://ci.appveyor.com/project/vinniefalco/json/branch/master) | [![Build Status](https://dev.azure.com/vinniefalco/json/_apis/build/status/pipeline?branchName=master)](https://dev.azure.com/vinniefalco/json/_build/latest?definitionId=6&branchName=master) | [![codecov](https://codecov.io/gh/vinniefalco/json/branch/master/graph/badge.svg)](https://codecov.io/gh/vinniefalco/json/branch/master) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/json.html) | [![Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/json.html) -[`develop`](https://github.com/vinniefalco/json/tree/develop) | [![Build Status](https://travis-ci.org/vinniefalco/json.svg?branch=develop)](https://travis-ci.org/vinniefalco/json) | [![Build status](https://ci.appveyor.com/api/projects/status/github/vinniefalco/json?branch=develop&svg=true)](https://ci.appveyor.com/project/vinniefalco/json/branch/develop) | [![Build Status](https://dev.azure.com/vinniefalco/json/_apis/build/status/pipeline?branchName=develop)](https://dev.azure.com/vinniefalco/json/_build/latest?definitionId=6&branchName=master) | [![codecov](https://codecov.io/gh/vinniefalco/json/branch/develop/graph/badge.svg)](https://codecov.io/gh/vinniefalco/json/branch/develop) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/json.html) | [![Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/json.html) +[`master`](https://github.com/vinniefalco/json/tree/master) | [![Build Status](https://travis-ci.org/vinniefalco/json.svg?branch=master)](https://travis-ci.org/vinniefalco/json) | [![Build status](https://ci.appveyor.com/api/projects/status/github/vinniefalco/json?branch=master&svg=true)](https://ci.appveyor.com/project/vinniefalco/json/branch/master) | [![Build Status](https://dev.azure.com/vinniefalco/json/_apis/build/status/pipeline?branchName=master)](https://dev.azure.com/vinniefalco/json/_build/latest?definitionId=6&branchName=master) | [![codecov](https://codecov.io/gh/vinniefalco/json/branch/master/graph/badge.svg)](https://codecov.io/gh/vinniefalco/json/branch/master) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://vinniefalco.github.com/doc/json/index.html) | [![Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/json.html) +[`develop`](https://github.com/vinniefalco/json/tree/develop) | [![Build Status](https://travis-ci.org/vinniefalco/json.svg?branch=develop)](https://travis-ci.org/vinniefalco/json) | [![Build status](https://ci.appveyor.com/api/projects/status/github/vinniefalco/json?branch=develop&svg=true)](https://ci.appveyor.com/project/vinniefalco/json/branch/develop) | [![Build Status](https://dev.azure.com/vinniefalco/json/_apis/build/status/pipeline?branchName=develop)](https://dev.azure.com/vinniefalco/json/_build/latest?definitionId=6&branchName=master) | [![codecov](https://codecov.io/gh/vinniefalco/json/branch/develop/graph/badge.svg)](https://codecov.io/gh/vinniefalco/json/branch/develop) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://vinniefalco.github.com/doc/json/index.html) | [![Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/json.html) ## This is currently **NOT** an official Boost library. diff --git a/doc/Jamfile b/doc/Jamfile index ee9eb056..5839640a 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -16,6 +16,10 @@ import doxygen ; import modules ; import saxonhe ; +local broot = [ os.environ BOOST_ROOT ] ; + +path-constant out : . ; + #------------------------------------------------------------------------------- # # Build the list of header files that Doxygen will scan. We need @@ -78,9 +82,6 @@ make index.xml rule make_doxygen_xml ( targets * : sources * : properties * ) { - LIB_DIR on $(targets) = - [ path.native [ path.parent [ path.root - [ on $(sources[1]) return $(SEARCH) ] [ path.pwd ] ] ] ] ; } if [ os.name ] = NT @@ -145,20 +146,40 @@ install qbk : reference.qbk ; # Produce the Boost.Book XML from the QuickBook # +install stylesheets + : + $(broot)/doc/src/boostbook.css + : + $(out)/html + ; + +explicit stylesheets ; + install images : + [ glob $(broot)/doc/src/images/*.png ] + images/doc-logo.png : - html/json/images + $(out)/html/images ; explicit images ; +install callouts + : + [ glob $(broot)/doc/src/images/callouts/*.png ] + : + $(out)/html/images/callouts + ; + +explicit callout ; + xml json_doc : qbk/main.qbk : - images qbk +# $(broot)/tools/boostbook/dtd ; explicit json_doc ; @@ -173,16 +194,19 @@ boostbook json : json_doc : - boost.root=../../../.. - chapter.autolabel=1 - chunk.section.depth=8 # Depth to which sections should be chunked + boost.image.src=images/doc-logo.png + boost.image.alt="Boost.JSON Logo" + boost.image.w=880 + boost.image.h=80 + boost.graphics.root=images/ + html.stylesheet=boostbook.css + nav.layout=none + chapter.autolabel=0 chunk.first.sections=1 # Chunk the first top-level section? - toc.section.depth=8 # How deep should recursive sections appear in the TOC? - toc.max.depth=8 # How many levels should be created for each TOC? - generate.section.toc.level=8 # Control depth of TOC generation in sections - generate.toc="chapter toc,title section nop reference nop" - ../../../tools/boostbook/dtd + chunk.section.depth=8 # Depth to which sections should be chunked + generate.toc="chapter nop section nop" : + stylesheets images ; diff --git a/doc/images/doc-logo.png b/doc/images/doc-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..929d59c4219a6b1eb8111c5b306422380129354e GIT binary patch literal 106748 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'''] + +[/-----------------------------------------------------------------------------] + +[table +[ [Small Document] [Large Document] ] +[[ +``` +Boost.JSON parse 55952763 bytes in 234ms +Boost.JSON parse 55952763 bytes in 232ms +Boost.JSON parse 55952763 bytes in 231ms +rapidjson parse 55952763 bytes in 239ms +rapidjson parse 55952763 bytes in 240ms +rapidjson parse 55952763 bytes in 239ms +nlohmann parse 55952763 bytes in 495ms +nlohmann parse 55952763 bytes in 491ms +nlohmann parse 55952763 bytes in 494ms +tao-json parse 55952763 bytes in 2178ms +tao-json parse 55952763 bytes in 2069ms +tao-json parse 55952763 bytes in 2056ms +``` +][ +``` +Boost.JSON parse 488889121 bytes in 1820ms +Boost.JSON parse 488889121 bytes in 1831ms +Boost.JSON parse 488889121 bytes in 1835ms +rapidjson parse 488889121 bytes in 1860ms +rapidjson parse 488889121 bytes in 1886ms +rapidjson parse 488889121 bytes in 1828ms +nlohmann parse 488889121 bytes in 4195ms +nlohmann parse 488889121 bytes in 4241ms +nlohmann parse 488889121 bytes in 4320ms +tao-json parse 488889121 bytes in 22952ms +tao-json parse 488889121 bytes in 23265ms +tao-json parse 488889121 bytes in 23117ms +``` +]] +] + +[/-----------------------------------------------------------------------------] + +[endsect] diff --git a/doc/qbk/comparison.qbk b/doc/qbk/comparison.qbk new file mode 100644 index 00000000..5ed80b5b --- /dev/null +++ b/doc/qbk/comparison.qbk @@ -0,0 +1,214 @@ +[/ + Copyright (c) 2019 Vinnie Falco (vinnie dot falco at gmail dot com) + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + Official repository: https://github.com/vinniefalco/json +] + +[section:comparison Comparison to Other Libraries] +[block''''''] + +We use these criteria for evaluating a library's JSON container (the +"value type") for suitability as a vocabulary type: + +* The value type declaration is completely decoupled + from other facilities such as parsing and serialization. + +* The value type is not a class template + +[/-----------------------------------------------------------------------------] + +[heading Comparison to nlohmann JSON] + +* Value Type: [@https://github.com/nlohmann/json/blob/00cb98a3d170161711ab912ae6acefba31f29f75/include/nlohmann/json.hpp#L165 `nlohmann::basic_json`] + +``` +template< + template class ObjectType, + template class ArrayType, + class StringType, + class BooleanType, + class NumberIntegerType, + class NumberUnsignedType, + class NumberFloatType, + template class AllocatorType, + template class JSONSerializer + > +class basic_json +{ + private: + .... + friend ::nlohmann::detail::parser; + friend ::nlohmann::detail::serializer; +... + +``` + +* __bad__ `basic_json` is a class template. Libraries must agree on + all the template parameters to be fully interoperable. + +* __bad__ Too much customization. We struggle to see a use case for + making `BooleanType` anything other than `bool`. + +* __bad__ Poor separation of concerns. The `basic_json` container + declaration needlessly conflates parsing and serialization APIs. + +* __bad__ Limited allocator support. Only stateless allocators are + allowed, which rules out the most important type of allocator, a + local arena-based implementation. + +* __bad__ No incremental parsing, no incremental serialization. + +* __bad__ Mediocre parsing performance. + +* __good__ Full-featured, including JSON Pointer, CBOR, and others. + +[/-----------------------------------------------------------------------------] + +[heading Comparison to RapidJSON] + +* Value Type: [@https://github.com/Tencent/rapidjson/blob/bb5f966b9939d6cdfbac3462a0410e185099b3af/include/rapidjson/document.h#L608 `rapidjson::GenericValue`] + +``` +template > +class GenericValue; + +template +class GenericArray; + +template +class GenericObject; +``` + +* __bad__ The value type is a class template. + +* __bad__ The value type is not __CopyConstructible__ + +* __bad__ The interface of the array and object types are considerably + different from their standard library equivalents, and not idiomatic. + +* __bad__ No incremental parsing, no incremental serialization. + +* __good__ Parsing performance is excellent. + +[/-----------------------------------------------------------------------------] + +[heading Comparison to TaoCPP JSON] + +* Value Type: [@https://github.com/taocpp/json/blob/e0944b3b2686a6b9749c16dd06f72445bf7eef0a/include/tao/json/basic_value.hpp#L38 `tao::json::basic_value`] + +*https://github.com/taocpp/json + +``` +template< template< typename... > class Traits > +class basic_value +{ + ... +public: + using array_t = std::vector< basic_value >; + using object_t = std::map< std::string, basic_value, std::less<> >; +... +``` + +The `basic_value` type uses the `Traits` as a template parameter, where the +traits provide specializations to convert each supported native or user defined +type to and from JSON. This makes the value type unsuitable as a vocabulary +type because the traits for a `basic_value` exported by two different +libraries which each has added support for their own types, are not the same. + +* __bad__ C++17 or later is required. + +* __bad__ No allocator support. + +* __bad__ The value type is a class template. + +* __bad__ The array and object container interfaces change + depending on which version of the standard C++ library is used. + +* __bad__ The performance of the library changes significantly + depending on which version of the standard library is used. + +* __bad__ Parsing performance is the worst surveyed, by a large margin. + +* __bad__ No incremental parsing, no incremental serialization. + +[/-----------------------------------------------------------------------------] + +[heading Comparison to JSONCPP] + +* Value Type: [@https://github.com/open-source-parsers/jsoncpp/blob/41ffff01d39085222280791a23451d3e852b06c2/include/json/value.h#L188 `Json::Value`] + +[/-----------------------------------------------------------------------------] + +[heading Comparison to Ciere Labs json_spirit] + +* Value Type: [@https://github.com/cierelabs/json_spirit/blob/e885dc55054bf0e6ef250322923396aed4c3ece7/ciere/json/value.hpp#L72 `ciere::json::value`] + + +``` + typedef std::string string_t; + typedef std::map object_t; + typedef std::pair object_member_t; + typedef boost::container::stable_vector array_t; + + class value : public boost::spirit::extended_variant< + null_t, bool_t, string_t, int_t, double_t, object_t, array_t> + { ... }; + +``` + +* No allocator support. + +[/-----------------------------------------------------------------------------] + +[heading Comparison to SIMD JSON] + +https://github.com/lemire/simdjson + +``` +class ParsedJson; +``` + +This is quite an interesting data structure, which is optimized to work well +with the SIMD parser. It makes very good design choices for the intended +use-case. However it is not well suited as a vocabulary type due to the +necessary limitations. + +* Read-only +* Sequential access only, via `ParsedJson::BasicIterator` +* Can only be realistically populated by the provided SIMD JSON parser. + +[/-----------------------------------------------------------------------------] + +[heading Comparison to trial.protocol] + +https://github.com/breese/trial.protocol + +``` +template