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<basic_json>': 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