json/docs
Florian Albrechtskirchinger d909f80960
Add versioned, ABI-tagged inline namespace and namespace macros (#3590)
* Add versioned inline namespace

Add a versioned inline namespace to prevent ABI issues when linking code
using multiple library versions.

* Add namespace macros

* Encode ABI information in inline namespace

Add _diag suffix to inline namespace if JSON_DIAGNOSTICS is enabled, and
_ldvcmp suffix if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON is enabled.

* Move ABI-affecting macros into abi_macros.hpp

* Move std_fs namespace definition into std_fs.hpp

* Remove std_fs namespace from unit test

* Format more files in tests directory

* Add unit tests

* Update documentation

* Fix GDB pretty printer

* fixup! Add namespace macros

* Derive ABI prefix from NLOHMANN_JSON_VERSION_*
2022-07-30 21:59:13 +02:00
..
docset 📝 clean up after #3581 (#3596) 2022-07-22 15:35:29 +02:00
examples Adjust JSON Pointer examples (#3622) 2022-07-29 14:28:37 +02:00
mkdocs Add versioned, ABI-tagged inline namespace and namespace macros (#3590) 2022-07-30 21:59:13 +02:00
usages Reorganize directories (#3462) 2022-05-01 09:41:50 +02:00
avatars.png Reorganize directories (#3462) 2022-05-01 09:41:50 +02:00
index.md Reorganize directories (#3462) 2022-05-01 09:41:50 +02:00
json.gif Reorganize directories (#3462) 2022-05-01 09:41:50 +02:00
Makefile Adjust JSON Pointer examples (#3622) 2022-07-29 14:28:37 +02:00
README.md Reorganize directories (#3462) 2022-05-01 09:41:50 +02:00

Documentation

Generate documentation

Note on documentation: The source files contain links to the online documentation at https://json.nlohmann.me. This URL contains the most recent documentation and should also be applicable to previous versions; documentation for deprecated functions is not removed, but marked deprecated.

If you want to see the documentation for a specific tag or commit hash, you can generate it as follows (here for tag v3.10.2):

git clone https://github.com/nlohmann/json.git
cd json
git checkout v3.10.2
make install_venv serve -C docs/mkdocs

Open URL http://127.0.0.1:8000/ in your browser. Replace from any URL from the source code https://json.nlohmann.me with http://127.0.0.1:8000 to see the documentation for your tag or commit hash.