• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Project information
2site_name: JSON for Modern C++
3site_author: Niels Lohmann
4site_url: https://json.nlohmann.me/
5
6# Repository
7repo_name: nlohmann/json
8repo_url: https://github.com/nlohmann/json
9edit_uri: edit/develop/docs/mkdocs/docs
10
11# Copyright
12copyright: Copyright © 2013 - 2023 Niels Lohmann
13
14# Configuration
15theme:
16  name: material
17  language: en
18  palette:
19    - media: '(prefers-color-scheme: light)'
20      scheme: default
21      primary: indigo
22      accent: indigo
23      toggle:
24        icon: material/brightness-7
25        name: Switch to dark mode
26    - media: '(prefers-color-scheme: dark)'
27      scheme: slate
28      primary: indigo
29      accent: indigo
30      toggle:
31        icon: material/brightness-4
32        name: Switch to light mode
33
34  font:
35    text: Roboto
36    code: JetBrains Mono
37  features:
38    - navigation.instant
39    - navigation.tracking
40    - navigation.tabs
41    - navigation.indexes
42    - navigation.top
43    - content.tabs.link
44
45nav:
46  - Home:
47    - index.md
48    - home/license.md
49    - "Code of Conduct": home/code_of_conduct.md
50    - "FAQ": home/faq.md
51    - home/exceptions.md
52    - home/releases.md
53    - home/design_goals.md
54    - home/sponsors.md
55  - Features:
56    - features/arbitrary_types.md
57    - Binary Formats:
58      - features/binary_formats/index.md
59      - features/binary_formats/bjdata.md
60      - features/binary_formats/bson.md
61      - features/binary_formats/cbor.md
62      - features/binary_formats/messagepack.md
63      - features/binary_formats/ubjson.md
64    - features/binary_values.md
65    - features/comments.md
66    - Element Access:
67      - features/element_access/index.md
68      - features/element_access/unchecked_access.md
69      - features/element_access/checked_access.md
70      - features/element_access/default_value.md
71    - features/iterators.md
72    - features/json_pointer.md
73    - features/json_patch.md
74    - features/merge_patch.md
75    - 'nlohmann Namespace': features/namespace.md
76    - features/object_order.md
77    - Parsing:
78        - features/parsing/index.md
79        - features/parsing/json_lines.md
80        - features/parsing/parse_exceptions.md
81        - features/parsing/parser_callbacks.md
82        - features/parsing/sax_interface.md
83    - features/assertions.md
84    - features/enum_conversion.md
85    - features/macros.md
86    - Types:
87        - features/types/index.md
88        - features/types/number_handling.md
89  - Integration:
90    - integration/index.md
91    - integration/migration_guide.md
92    - integration/cmake.md
93    - integration/package_managers.md
94    - integration/pkg-config.md
95  - API Documentation:
96      - basic_json:
97        - 'Overview': api/basic_json/index.md
98        - '(Constructor)': api/basic_json/basic_json.md
99        - '(Destructor)': api/basic_json/~basic_json.md
100        - 'accept': api/basic_json/accept.md
101        - 'array': api/basic_json/array.md
102        - 'array_t': api/basic_json/array_t.md
103        - 'at': api/basic_json/at.md
104        - 'back': api/basic_json/back.md
105        - 'begin': api/basic_json/begin.md
106        - 'binary': api/basic_json/binary.md
107        - 'binary_t': api/basic_json/binary_t.md
108        - 'boolean_t': api/basic_json/boolean_t.md
109        - 'cbegin': api/basic_json/cbegin.md
110        - 'cbor_tag_handler_t': api/basic_json/cbor_tag_handler_t.md
111        - 'cend': api/basic_json/cend.md
112        - 'clear': api/basic_json/clear.md
113        - 'contains': api/basic_json/contains.md
114        - 'count': api/basic_json/count.md
115        - 'crbegin': api/basic_json/crbegin.md
116        - 'crend': api/basic_json/crend.md
117        - 'default_object_comparator_t': api/basic_json/default_object_comparator_t.md
118        - 'diff': api/basic_json/diff.md
119        - 'dump': api/basic_json/dump.md
120        - 'emplace': api/basic_json/emplace.md
121        - 'emplace_back': api/basic_json/emplace_back.md
122        - 'empty': api/basic_json/empty.md
123        - 'end': api/basic_json/end.md
124        - 'erase': api/basic_json/erase.md
125        - 'error_handler_t': api/basic_json/error_handler_t.md
126        - 'exception': api/basic_json/exception.md
127        - 'find': api/basic_json/find.md
128        - 'flatten': api/basic_json/flatten.md
129        - 'from_bjdata': api/basic_json/from_bjdata.md
130        - 'from_bson': api/basic_json/from_bson.md
131        - 'from_cbor': api/basic_json/from_cbor.md
132        - 'from_msgpack': api/basic_json/from_msgpack.md
133        - 'from_ubjson': api/basic_json/from_ubjson.md
134        - 'front': api/basic_json/front.md
135        - 'get': api/basic_json/get.md
136        - 'get_allocator': api/basic_json/get_allocator.md
137        - 'get_binary': api/basic_json/get_binary.md
138        - 'get_ptr': api/basic_json/get_ptr.md
139        - 'get_ref': api/basic_json/get_ref.md
140        - 'get_to': api/basic_json/get_to.md
141        - 'std::hash<basic_json>': api/basic_json/std_hash.md
142        - 'input_format_t': api/basic_json/input_format_t.md
143        - 'insert': api/basic_json/insert.md
144        - 'invalid_iterator': api/basic_json/invalid_iterator.md
145        - 'is_array': api/basic_json/is_array.md
146        - 'is_binary': api/basic_json/is_binary.md
147        - 'is_boolean': api/basic_json/is_boolean.md
148        - 'is_discarded': api/basic_json/is_discarded.md
149        - 'is_null': api/basic_json/is_null.md
150        - 'is_number': api/basic_json/is_number.md
151        - 'is_number_float': api/basic_json/is_number_float.md
152        - 'is_number_integer': api/basic_json/is_number_integer.md
153        - 'is_number_unsigned': api/basic_json/is_number_unsigned.md
154        - 'is_object': api/basic_json/is_object.md
155        - 'is_primitive': api/basic_json/is_primitive.md
156        - 'is_string': api/basic_json/is_string.md
157        - 'is_structured': api/basic_json/is_structured.md
158        - 'items': api/basic_json/items.md
159        - 'json_base_class_t': api/basic_json/json_base_class_t.md
160        - 'json_serializer': api/basic_json/json_serializer.md
161        - 'max_size': api/basic_json/max_size.md
162        - 'meta': api/basic_json/meta.md
163        - 'merge_patch': api/basic_json/merge_patch.md
164        - 'number_float_t': api/basic_json/number_float_t.md
165        - 'number_integer_t': api/basic_json/number_integer_t.md
166        - 'number_unsigned_t': api/basic_json/number_unsigned_t.md
167        - 'object': api/basic_json/object.md
168        - 'object_comparator_t': api/basic_json/object_comparator_t.md
169        - 'object_t': api/basic_json/object_t.md
170        - 'operator ValueType': api/basic_json/operator_ValueType.md
171        - 'operator value_t': api/basic_json/operator_value_t.md
172        - 'operator[]': api/basic_json/operator[].md
173        - 'operator=': api/basic_json/operator=.md
174        - 'operator+=': api/basic_json/operator+=.md
175        - 'operator==': api/basic_json/operator_eq.md
176        - 'operator!=': api/basic_json/operator_ne.md
177        - 'operator<': api/basic_json/operator_lt.md
178        - 'operator>': api/basic_json/operator_gt.md
179        - 'operator<=': api/basic_json/operator_le.md
180        - 'operator>=': api/basic_json/operator_ge.md
181        - 'operator<=>': api/basic_json/operator_spaceship.md
182        - 'out_of_range': api/basic_json/out_of_range.md
183        - 'other_error': api/basic_json/other_error.md
184        - 'parse': api/basic_json/parse.md
185        - 'parse_error': api/basic_json/parse_error.md
186        - 'parse_event_t': api/basic_json/parse_event_t.md
187        - 'parser_callback_t': api/basic_json/parser_callback_t.md
188        - 'patch': api/basic_json/patch.md
189        - 'patch_inplace': api/basic_json/patch_inplace.md
190        - 'push_back': api/basic_json/push_back.md
191        - 'rbegin': api/basic_json/rbegin.md
192        - 'rend': api/basic_json/rend.md
193        - 'sax_parse': api/basic_json/sax_parse.md
194        - 'size': api/basic_json/size.md
195        - 'string_t': api/basic_json/string_t.md
196        - 'swap': api/basic_json/swap.md
197        - 'std::swap&lt;basic_json&gt;': api/basic_json/std_swap.md
198        - 'to_bjdata': api/basic_json/to_bjdata.md
199        - 'to_bson': api/basic_json/to_bson.md
200        - 'to_cbor': api/basic_json/to_cbor.md
201        - 'to_msgpack': api/basic_json/to_msgpack.md
202        - 'to_string': api/basic_json/to_string.md
203        - 'to_ubjson': api/basic_json/to_ubjson.md
204        - 'type': api/basic_json/type.md
205        - 'type_error': api/basic_json/type_error.md
206        - 'type_name': api/basic_json/type_name.md
207        - 'unflatten': api/basic_json/unflatten.md
208        - 'update': api/basic_json/update.md
209        - 'value': api/basic_json/value.md
210        - 'value_t': api/basic_json/value_t.md
211      - byte_container_with_subtype:
212        - 'Overview': api/byte_container_with_subtype/index.md
213        - '(constructor)': api/byte_container_with_subtype/byte_container_with_subtype.md
214        - 'clear_subtype': api/byte_container_with_subtype/clear_subtype.md
215        - 'has_subtype': api/byte_container_with_subtype/has_subtype.md
216        - 'set_subtype': api/byte_container_with_subtype/set_subtype.md
217        - 'subtype': api/byte_container_with_subtype/subtype.md
218      - adl_serializer:
219        - 'Overview': api/adl_serializer/index.md
220        - 'from_json': api/adl_serializer/from_json.md
221        - 'to_json': api/adl_serializer/to_json.md
222      - 'json': api/json.md
223      - json_pointer:
224        - 'Overview': api/json_pointer/index.md
225        - '(Constructor)': api/json_pointer/json_pointer.md
226        - 'back': api/json_pointer/back.md
227        - 'empty': api/json_pointer/empty.md
228        - 'operator string_t': api/json_pointer/operator_string_t.md
229        - 'operator==': api/json_pointer/operator_eq.md
230        - 'operator!=': api/json_pointer/operator_ne.md
231        - 'operator/': api/json_pointer/operator_slash.md
232        - 'operator/=': api/json_pointer/operator_slasheq.md
233        - 'parent_pointer': api/json_pointer/parent_pointer.md
234        - 'pop_back': api/json_pointer/pop_back.md
235        - 'push_back': api/json_pointer/push_back.md
236        - 'string_t': api/json_pointer/string_t.md
237        - 'to_string': api/json_pointer/to_string.md
238      - json_sax:
239        - 'Overview': api/json_sax/index.md
240        - 'binary': api/json_sax/binary.md
241        - 'boolean': api/json_sax/boolean.md
242        - 'end_array': api/json_sax/end_array.md
243        - 'end_object': api/json_sax/end_object.md
244        - 'key': api/json_sax/key.md
245        - 'null': api/json_sax/null.md
246        - 'number_float': api/json_sax/number_float.md
247        - 'number_integer': api/json_sax/number_integer.md
248        - 'number_unsigned': api/json_sax/number_unsigned.md
249        - 'parse_error': api/json_sax/parse_error.md
250        - 'start_array': api/json_sax/start_array.md
251        - 'start_object': api/json_sax/start_object.md
252        - 'string': api/json_sax/string.md
253      - 'operator<<(basic_json)': api/operator_ltlt.md
254      - 'operator<<(json_pointer)': api/operator_ltlt.md
255      - 'operator>>(basic_json)': api/operator_gtgt.md
256      - 'operator""_json': api/operator_literal_json.md
257      - 'operator""_json_pointer': api/operator_literal_json_pointer.md
258      - 'ordered_json': api/ordered_json.md
259      - 'ordered_map': api/ordered_map.md
260      - macros:
261        - 'Overview': api/macros/index.md
262        - 'JSON_ASSERT': api/macros/json_assert.md
263        - 'JSON_CATCH_USER': api/macros/json_throw_user.md
264        - 'JSON_DIAGNOSTICS': api/macros/json_diagnostics.md
265        - 'JSON_DISABLE_ENUM_SERIALIZATION': api/macros/json_disable_enum_serialization.md
266        - 'JSON_HAS_CPP_11': api/macros/json_has_cpp_11.md
267        - 'JSON_HAS_CPP_14': api/macros/json_has_cpp_11.md
268        - 'JSON_HAS_CPP_17': api/macros/json_has_cpp_11.md
269        - 'JSON_HAS_CPP_20': api/macros/json_has_cpp_11.md
270        - 'JSON_HAS_EXPERIMENTAL_FILESYSTEM': api/macros/json_has_filesystem.md
271        - 'JSON_HAS_FILESYSTEM': api/macros/json_has_filesystem.md
272        - 'JSON_HAS_RANGES': api/macros/json_has_ranges.md
273        - 'JSON_HAS_STATIC_RTTI': api/macros/json_has_static_rtti.md
274        - 'JSON_HAS_THREE_WAY_COMPARISON': api/macros/json_has_three_way_comparison.md
275        - 'JSON_NOEXCEPTION': api/macros/json_noexception.md
276        - 'JSON_NO_IO': api/macros/json_no_io.md
277        - 'JSON_SKIP_LIBRARY_VERSION_CHECK': api/macros/json_skip_library_version_check.md
278        - 'JSON_SKIP_UNSUPPORTED_COMPILER_CHECK': api/macros/json_skip_unsupported_compiler_check.md
279        - 'JSON_THROW_USER': api/macros/json_throw_user.md
280        - 'JSON_TRY_USER': api/macros/json_throw_user.md
281        - 'JSON_USE_GLOBAL_UDLS': api/macros/json_use_global_udls.md
282        - 'JSON_USE_IMPLICIT_CONVERSIONS': api/macros/json_use_implicit_conversions.md
283        - 'JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON': api/macros/json_use_legacy_discarded_value_comparison.md
284        - 'NLOHMANN_DEFINE_TYPE_INTRUSIVE': api/macros/nlohmann_define_type_intrusive.md
285        - 'NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT': api/macros/nlohmann_define_type_intrusive.md
286        - 'NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE': api/macros/nlohmann_define_type_non_intrusive.md
287        - 'NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT': api/macros/nlohmann_define_type_non_intrusive.md
288        - 'NLOHMANN_JSON_NAMESPACE': api/macros/nlohmann_json_namespace.md
289        - 'NLOHMANN_JSON_NAMESPACE_BEGIN': api/macros/nlohmann_json_namespace_begin.md
290        - 'NLOHMANN_JSON_NAMESPACE_END': api/macros/nlohmann_json_namespace_begin.md
291        - 'NLOHMANN_JSON_NAMESPACE_NO_VERSION': api/macros/nlohmann_json_namespace_no_version.md
292        - 'NLOHMANN_JSON_SERIALIZE_ENUM': api/macros/nlohmann_json_serialize_enum.md
293        - 'NLOHMANN_JSON_VERSION_MAJOR': api/macros/nlohmann_json_version_major.md
294        - 'NLOHMANN_JSON_VERSION_MINOR': api/macros/nlohmann_json_version_major.md
295        - 'NLOHMANN_JSON_VERSION_PATCH': api/macros/nlohmann_json_version_major.md
296
297# Extras
298extra:
299  social:
300    - icon: fontawesome/brands/github
301      link: https://github.com/nlohmann
302    - icon: fontawesome/brands/twitter
303      link: https://twitter.com/nlohmann
304    - icon: fontawesome/brands/linkedin
305      link: https://www.linkedin.com/in/nielslohmann/
306    - icon: fontawesome/brands/xing
307      link: https://www.xing.com/profile/Niels_Lohmann
308    - icon: fontawesome/brands/paypal
309      link: https://www.paypal.me/nlohmann
310  generator: false
311
312# Extensions
313markdown_extensions:
314  - abbr
315  - admonition
316  - attr_list
317  - def_list
318  - codehilite:
319      guess_lang: false
320  - toc:
321      permalink: true
322  - pymdownx.arithmatex
323  - pymdownx.betterem:
324      smart_enable: all
325  - pymdownx.caret
326  - pymdownx.critic
327  - pymdownx.details
328  - pymdownx.emoji:
329      emoji_index: !!python/name:material.extensions.emoji.twemoji
330      emoji_generator: !!python/name:material.extensions.emoji.to_svg
331  - pymdownx.inlinehilite
332  - pymdownx.magiclink
333  - pymdownx.mark
334  #- pymdownx.smartsymbols
335  - pymdownx.superfences
336  - pymdownx.tasklist:
337      custom_checkbox: true
338  - pymdownx.tabbed:
339      alternate_style: true
340  - pymdownx.tilde
341  - pymdownx.snippets:
342      base_path: docs
343      check_paths: true
344  - plantuml_markdown:
345      format: svg
346
347plugins:
348    - search:
349        separator: '[\s\-\.]'
350        lang: en
351    - minify:
352        minify_html: true
353    - git-revision-date-localized
354    - redirects:
355        redirect_maps:
356            'api/basic_json/operator_gtgt.md': api/operator_gtgt.md
357            'api/basic_json/operator_ltlt.md': api/operator_ltlt.md
358            'api/basic_json/operator_literal_json.md': api/operator_literal_json.md
359            'api/basic_json/operator_literal_json_pointer.md': api/operator_literal_json_pointer.md
360            'api/json_pointer/operator_string.md': api/json_pointer/operator_string_t.md
361
362extra_css:
363    - css/custom.css
364
365extra_javascript:
366  - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML
367