diff --git a/annotated.html b/annotated.html
index 9a7bf91ee..9c418f4cf 100644
--- a/annotated.html
+++ b/annotated.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classes.html b/classes.html
index 6ee7563b9..0223a34fc 100644
--- a/classes.html
+++ b/classes.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classnlohmann_1_1basic__json-members.html b/classnlohmann_1_1basic__json-members.html
index e71068d65..d7850c49a 100644
--- a/classnlohmann_1_1basic__json-members.html
+++ b/classnlohmann_1_1basic__json-members.html
@@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classnlohmann_1_1basic__json.html b/classnlohmann_1_1basic__json.html
index 48b6ee814..7f1b7f21f 100644
--- a/classnlohmann_1_1basic__json.html
+++ b/classnlohmann_1_1basic__json.html
@@ -662,7 +662,7 @@ class nlohmann::basic_json
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator-members.html b/classnlohmann_1_1basic__json_1_1const__iterator-members.html
index afc11a187..9bb051c7a 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator-members.html
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator.html b/classnlohmann_1_1basic__json_1_1const__iterator.html
index f9f7b36fc..bd47b9cbf 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator.html
@@ -215,11 +215,11 @@ class nlohmann::basic_json::const_iterator
- Since
- version 1.0
-Definition at line 5449 of file json.hpp.
+Definition at line 5570 of file json.hpp.
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a019087161350d393f3e4ac841cdd3dbd.html b/classnlohmann_1_1basic__json_1_1const__iterator_a019087161350d393f3e4ac841cdd3dbd.html
index 26a125451..822c851c3 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a019087161350d393f3e4ac841cdd3dbd.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a019087161350d393f3e4ac841cdd3dbd.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a17e5f5d3598e6901f3c1c1f7dc60589f.html b/classnlohmann_1_1basic__json_1_1const__iterator_a17e5f5d3598e6901f3c1c1f7dc60589f.html
index bfb186bdc..30efd618c 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a17e5f5d3598e6901f3c1c1f7dc60589f.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a17e5f5d3598e6901f3c1c1f7dc60589f.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a1cba94e5a67ee52bc66b898a4e08359d.html b/classnlohmann_1_1basic__json_1_1const__iterator_a1cba94e5a67ee52bc66b898a4e08359d.html
index cc9e950d7..5e5c007b7 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a1cba94e5a67ee52bc66b898a4e08359d.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a1cba94e5a67ee52bc66b898a4e08359d.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a211523a57024a43965862b497b89ab91.html b/classnlohmann_1_1basic__json_1_1const__iterator_a211523a57024a43965862b497b89ab91.html
index 6a8c49c0a..c053beda4 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a211523a57024a43965862b497b89ab91.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a211523a57024a43965862b497b89ab91.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a301749e9779adafd395369ac36df93df.html b/classnlohmann_1_1basic__json_1_1const__iterator_a301749e9779adafd395369ac36df93df.html
index 84c2f2594..1a88a976e 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a301749e9779adafd395369ac36df93df.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a301749e9779adafd395369ac36df93df.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a36086a699b95e06976c11367b7d6ba53.html b/classnlohmann_1_1basic__json_1_1const__iterator_a36086a699b95e06976c11367b7d6ba53.html
index ba48bb52f..457314dff 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a36086a699b95e06976c11367b7d6ba53.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a36086a699b95e06976c11367b7d6ba53.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a4632d8307fc315f21e2ecc9ba5aa6346.html b/classnlohmann_1_1basic__json_1_1const__iterator_a4632d8307fc315f21e2ecc9ba5aa6346.html
index a93b9a649..c39cf176f 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a4632d8307fc315f21e2ecc9ba5aa6346.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a4632d8307fc315f21e2ecc9ba5aa6346.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a4f7ac43b0ab34c387b1ae1a8e9c08467.html b/classnlohmann_1_1basic__json_1_1const__iterator_a4f7ac43b0ab34c387b1ae1a8e9c08467.html
index 447273f03..dac9fb13b 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a4f7ac43b0ab34c387b1ae1a8e9c08467.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a4f7ac43b0ab34c387b1ae1a8e9c08467.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a5aff013c03c1bdc248346c249bec7b67.html b/classnlohmann_1_1basic__json_1_1const__iterator_a5aff013c03c1bdc248346c249bec7b67.html
index 4ff9c3570..fbf8fb303 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a5aff013c03c1bdc248346c249bec7b67.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a5aff013c03c1bdc248346c249bec7b67.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a62cad59e006eb7fa594c2c5b65a76610.html b/classnlohmann_1_1basic__json_1_1const__iterator_a62cad59e006eb7fa594c2c5b65a76610.html
index be6323a21..4c21d36cf 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a62cad59e006eb7fa594c2c5b65a76610.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a62cad59e006eb7fa594c2c5b65a76610.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a67848d4b7bfa576434ad9807147b5870.html b/classnlohmann_1_1basic__json_1_1const__iterator_a67848d4b7bfa576434ad9807147b5870.html
index 67e1fdb54..39332e56d 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a67848d4b7bfa576434ad9807147b5870.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a67848d4b7bfa576434ad9807147b5870.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a6b3e43d2f45fa611825dbdf4e88fffe2.html b/classnlohmann_1_1basic__json_1_1const__iterator_a6b3e43d2f45fa611825dbdf4e88fffe2.html
index 1cc293eb5..222801154 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a6b3e43d2f45fa611825dbdf4e88fffe2.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a6b3e43d2f45fa611825dbdf4e88fffe2.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a83454954e4e16be3d5316f9322e91a34.html b/classnlohmann_1_1basic__json_1_1const__iterator_a83454954e4e16be3d5316f9322e91a34.html
index e66012340..008478b6d 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a83454954e4e16be3d5316f9322e91a34.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a83454954e4e16be3d5316f9322e91a34.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a86a1771e6658d0b14868df6c197d2353.html b/classnlohmann_1_1basic__json_1_1const__iterator_a86a1771e6658d0b14868df6c197d2353.html
index bc6d490ed..8eebf4a33 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a86a1771e6658d0b14868df6c197d2353.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a86a1771e6658d0b14868df6c197d2353.html
@@ -150,7 +150,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a8d024cbc99db0d8106899f9fd9973735.html b/classnlohmann_1_1basic__json_1_1const__iterator_a8d024cbc99db0d8106899f9fd9973735.html
index f77b8154d..7b5029061 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a8d024cbc99db0d8106899f9fd9973735.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a8d024cbc99db0d8106899f9fd9973735.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ab74b39747a9dad60650a57133fca85b3.html b/classnlohmann_1_1basic__json_1_1const__iterator_ab74b39747a9dad60650a57133fca85b3.html
index 2925ea744..9a665eaca 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ab74b39747a9dad60650a57133fca85b3.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ab74b39747a9dad60650a57133fca85b3.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ab7dacd8e3ee9b3756bfcdb87dd55a515.html b/classnlohmann_1_1basic__json_1_1const__iterator_ab7dacd8e3ee9b3756bfcdb87dd55a515.html
index 37291c33c..77abdc8eb 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ab7dacd8e3ee9b3756bfcdb87dd55a515.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ab7dacd8e3ee9b3756bfcdb87dd55a515.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ab9d31bf0d0b4d7310c858a04ce84a52f.html b/classnlohmann_1_1basic__json_1_1const__iterator_ab9d31bf0d0b4d7310c858a04ce84a52f.html
index 4f758b012..239231718 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ab9d31bf0d0b4d7310c858a04ce84a52f.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ab9d31bf0d0b4d7310c858a04ce84a52f.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_abb1921cbf0ad4036c83bc6303e22171f.html b/classnlohmann_1_1basic__json_1_1const__iterator_abb1921cbf0ad4036c83bc6303e22171f.html
index 82a893125..9ddb52f35 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_abb1921cbf0ad4036c83bc6303e22171f.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_abb1921cbf0ad4036c83bc6303e22171f.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_abbacd95955c602efc9a58ed1ffdb46c4.html b/classnlohmann_1_1basic__json_1_1const__iterator_abbacd95955c602efc9a58ed1ffdb46c4.html
index 3d4fd0174..6f9f6962d 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_abbacd95955c602efc9a58ed1ffdb46c4.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_abbacd95955c602efc9a58ed1ffdb46c4.html
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -152,7 +152,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ac36b9187de43721a4bf1b052578bb80b.html b/classnlohmann_1_1basic__json_1_1const__iterator_ac36b9187de43721a4bf1b052578bb80b.html
index 6ed752e9c..3e1864c75 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ac36b9187de43721a4bf1b052578bb80b.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ac36b9187de43721a4bf1b052578bb80b.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ac634a659837f5aebc97125e031de23b5.html b/classnlohmann_1_1basic__json_1_1const__iterator_ac634a659837f5aebc97125e031de23b5.html
index 587a1c882..598d60a38 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ac634a659837f5aebc97125e031de23b5.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ac634a659837f5aebc97125e031de23b5.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_acea5b75d1087e2a92833946d9dc547ff.html b/classnlohmann_1_1basic__json_1_1const__iterator_acea5b75d1087e2a92833946d9dc547ff.html
index d98e7b3ed..1891d25a5 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_acea5b75d1087e2a92833946d9dc547ff.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_acea5b75d1087e2a92833946d9dc547ff.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html b/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
index 0e0d8004b..69f6545a8 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
@@ -139,7 +139,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -149,7 +149,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_adb50d6043ace464d9f694869724d7fb2.html b/classnlohmann_1_1basic__json_1_1const__iterator_adb50d6043ace464d9f694869724d7fb2.html
index 0c4d9fdbc..84dfd2b6e 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_adb50d6043ace464d9f694869724d7fb2.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_adb50d6043ace464d9f694869724d7fb2.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_adda9a4bd7f0edb9cb39dc0dca3d4a286.html b/classnlohmann_1_1basic__json_1_1const__iterator_adda9a4bd7f0edb9cb39dc0dca3d4a286.html
index baf064218..29192916a 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_adda9a4bd7f0edb9cb39dc0dca3d4a286.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_adda9a4bd7f0edb9cb39dc0dca3d4a286.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_adf6f9d3f8f8d8b1ccedabb4f04c098ad.html b/classnlohmann_1_1basic__json_1_1const__iterator_adf6f9d3f8f8d8b1ccedabb4f04c098ad.html
index 29d37a4e8..533092b3a 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_adf6f9d3f8f8d8b1ccedabb4f04c098ad.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_adf6f9d3f8f8d8b1ccedabb4f04c098ad.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ae480d5c86e5e1129d53d1e19782017a6.html b/classnlohmann_1_1basic__json_1_1const__iterator_ae480d5c86e5e1129d53d1e19782017a6.html
index b84306cfc..61247d2c7 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ae480d5c86e5e1129d53d1e19782017a6.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ae480d5c86e5e1129d53d1e19782017a6.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_aebd099d9a70ffe760242ef24046c9002.html b/classnlohmann_1_1basic__json_1_1const__iterator_aebd099d9a70ffe760242ef24046c9002.html
index 4a640df5c..b25f5c8a9 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_aebd099d9a70ffe760242ef24046c9002.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_aebd099d9a70ffe760242ef24046c9002.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_af34f68f1ce670e7f25ce267b2b1e64ab.html b/classnlohmann_1_1basic__json_1_1const__iterator_af34f68f1ce670e7f25ce267b2b1e64ab.html
index 259d666cf..157a17e1c 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_af34f68f1ce670e7f25ce267b2b1e64ab.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_af34f68f1ce670e7f25ce267b2b1e64ab.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_af55564e391b23e41abe78bc4bbe4edcb.html b/classnlohmann_1_1basic__json_1_1const__iterator_af55564e391b23e41abe78bc4bbe4edcb.html
index cdd21f692..8dda7a047 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_af55564e391b23e41abe78bc4bbe4edcb.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_af55564e391b23e41abe78bc4bbe4edcb.html
@@ -143,7 +143,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -153,7 +153,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator-members.html b/classnlohmann_1_1basic__json_1_1iterator-members.html
index 88145f2ec..d01ed0e98 100644
--- a/classnlohmann_1_1basic__json_1_1iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1iterator-members.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classnlohmann_1_1basic__json_1_1iterator.html b/classnlohmann_1_1basic__json_1_1iterator.html
index 657482357..fd3aedff1 100644
--- a/classnlohmann_1_1basic__json_1_1iterator.html
+++ b/classnlohmann_1_1basic__json_1_1iterator.html
@@ -266,11 +266,11 @@ class nlohmann::basic_json::iterator
- Since
- version 1.0
-Definition at line 5951 of file json.hpp.
+Definition at line 6072 of file json.hpp.
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a037e5f3de196ff4cea8a95a8a4e35882.html b/classnlohmann_1_1basic__json_1_1iterator_a037e5f3de196ff4cea8a95a8a4e35882.html
index 0bd592e37..218cbe072 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a037e5f3de196ff4cea8a95a8a4e35882.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a037e5f3de196ff4cea8a95a8a4e35882.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a0a43bd93e6e46645ed0b93d3af7bfe22.html b/classnlohmann_1_1basic__json_1_1iterator_a0a43bd93e6e46645ed0b93d3af7bfe22.html
index 03f42f944..be14f2793 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a0a43bd93e6e46645ed0b93d3af7bfe22.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a0a43bd93e6e46645ed0b93d3af7bfe22.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a0c0acb68cc2a50a0e8782f860184883f.html b/classnlohmann_1_1basic__json_1_1iterator_a0c0acb68cc2a50a0e8782f860184883f.html
index 7f3966b18..eb1746e0f 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a0c0acb68cc2a50a0e8782f860184883f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a0c0acb68cc2a50a0e8782f860184883f.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a0eb7ac9b746fb6f931ae728f70f92a8e.html b/classnlohmann_1_1basic__json_1_1iterator_a0eb7ac9b746fb6f931ae728f70f92a8e.html
index 8c38d203b..9fbdc0d43 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a0eb7ac9b746fb6f931ae728f70f92a8e.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a0eb7ac9b746fb6f931ae728f70f92a8e.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a1220b360a07b0605f7d2f4b3cfd16736.html b/classnlohmann_1_1basic__json_1_1iterator_a1220b360a07b0605f7d2f4b3cfd16736.html
index 0d07257ce..1c2ef81a3 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a1220b360a07b0605f7d2f4b3cfd16736.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a1220b360a07b0605f7d2f4b3cfd16736.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a21d32a4547ba4cbadd8b435a6a0d0e1b.html b/classnlohmann_1_1basic__json_1_1iterator_a21d32a4547ba4cbadd8b435a6a0d0e1b.html
index 4b4126e2f..ce083334a 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a21d32a4547ba4cbadd8b435a6a0d0e1b.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a21d32a4547ba4cbadd8b435a6a0d0e1b.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a302d810a0685f8d39368eaa65c833acf.html b/classnlohmann_1_1basic__json_1_1iterator_a302d810a0685f8d39368eaa65c833acf.html
index 6dbb05ca7..4c144e7ea 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a302d810a0685f8d39368eaa65c833acf.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a302d810a0685f8d39368eaa65c833acf.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a33277dbf06ac5c1e7102e26f6b5e2c00.html b/classnlohmann_1_1basic__json_1_1iterator_a33277dbf06ac5c1e7102e26f6b5e2c00.html
index d45d49ec5..ca6dd8cf8 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a33277dbf06ac5c1e7102e26f6b5e2c00.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a33277dbf06ac5c1e7102e26f6b5e2c00.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a4ae612fa9eb59784047b40f0419db65d.html b/classnlohmann_1_1basic__json_1_1iterator_a4ae612fa9eb59784047b40f0419db65d.html
index c18469bbb..2eacac08d 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a4ae612fa9eb59784047b40f0419db65d.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a4ae612fa9eb59784047b40f0419db65d.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a4f6e03ae3bb674ebf0b727f74957c12f.html b/classnlohmann_1_1basic__json_1_1iterator_a4f6e03ae3bb674ebf0b727f74957c12f.html
index fc4b0b58c..be631e843 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a4f6e03ae3bb674ebf0b727f74957c12f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a4f6e03ae3bb674ebf0b727f74957c12f.html
@@ -139,7 +139,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a6e91e9d94a0e14d2fc28cfdf3beac2b1.html b/classnlohmann_1_1basic__json_1_1iterator_a6e91e9d94a0e14d2fc28cfdf3beac2b1.html
index 3cb9051e3..925cf0f75 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a6e91e9d94a0e14d2fc28cfdf3beac2b1.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a6e91e9d94a0e14d2fc28cfdf3beac2b1.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a7031e759ee52d1283aada0ff81108a5e.html b/classnlohmann_1_1basic__json_1_1iterator_a7031e759ee52d1283aada0ff81108a5e.html
index 7ca0f9f58..c00059d27 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a7031e759ee52d1283aada0ff81108a5e.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a7031e759ee52d1283aada0ff81108a5e.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a94285e2ade0bfef829b81377bbbca6cf.html b/classnlohmann_1_1basic__json_1_1iterator_a94285e2ade0bfef829b81377bbbca6cf.html
index fcd409c6e..db8922e99 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a94285e2ade0bfef829b81377bbbca6cf.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a94285e2ade0bfef829b81377bbbca6cf.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a9fcfda575b08d0c73b6274cdbbe7f184.html b/classnlohmann_1_1basic__json_1_1iterator_a9fcfda575b08d0c73b6274cdbbe7f184.html
index a5a2f4e60..da17c142f 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a9fcfda575b08d0c73b6274cdbbe7f184.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a9fcfda575b08d0c73b6274cdbbe7f184.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_aa2bd10afdcfc70acb8eaabbd2f6496f0.html b/classnlohmann_1_1basic__json_1_1iterator_aa2bd10afdcfc70acb8eaabbd2f6496f0.html
index b2b792d35..2c54c3948 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_aa2bd10afdcfc70acb8eaabbd2f6496f0.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_aa2bd10afdcfc70acb8eaabbd2f6496f0.html
@@ -120,7 +120,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -130,7 +130,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ab220a0cc3fe410fbae4524208bd5834f.html b/classnlohmann_1_1basic__json_1_1iterator_ab220a0cc3fe410fbae4524208bd5834f.html
index 5b15a2ff4..49e2989a8 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ab220a0cc3fe410fbae4524208bd5834f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ab220a0cc3fe410fbae4524208bd5834f.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ab5cf753cb2f8ce53b9f3e54c39e50ee3.html b/classnlohmann_1_1basic__json_1_1iterator_ab5cf753cb2f8ce53b9f3e54c39e50ee3.html
index 986b0608c..a5e4b863c 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ab5cf753cb2f8ce53b9f3e54c39e50ee3.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ab5cf753cb2f8ce53b9f3e54c39e50ee3.html
@@ -132,7 +132,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -142,7 +142,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_abaebf4e21956dd20d9f862fa5647d32d.html b/classnlohmann_1_1basic__json_1_1iterator_abaebf4e21956dd20d9f862fa5647d32d.html
index d905ea96c..875c9f287 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_abaebf4e21956dd20d9f862fa5647d32d.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_abaebf4e21956dd20d9f862fa5647d32d.html
@@ -120,7 +120,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -130,7 +130,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_af64127418c567660d92b1afdfe9676db.html b/classnlohmann_1_1basic__json_1_1iterator_af64127418c567660d92b1afdfe9676db.html
index 8016b976f..708c189d5 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_af64127418c567660d92b1afdfe9676db.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_af64127418c567660d92b1afdfe9676db.html
@@ -131,7 +131,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -141,7 +141,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1iterator_afe65b5a0572c7bfdd7ccc942bb8e9fe2.html b/classnlohmann_1_1basic__json_1_1iterator_afe65b5a0572c7bfdd7ccc942bb8e9fe2.html
index d94d80bf8..fe81d6771 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_afe65b5a0572c7bfdd7ccc942bb8e9fe2.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_afe65b5a0572c7bfdd7ccc942bb8e9fe2.html
@@ -120,7 +120,7 @@ template<template< typename U, typename V, typename...Args > class Obje
@@ -130,7 +130,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html
index 9d48541af..035ef67d7 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
index fca0dcaaa..2eeb0ed0f 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
@@ -174,7 +174,7 @@ class nlohmann::basic_json::json_reverse_iterator< Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a03e542423284327d3801cf078f1c2b44.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a03e542423284327d3801cf078f1c2b44.html
index 18a5a6e2f..de3488258 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a03e542423284327d3801cf078f1c2b44.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a03e542423284327d3801cf078f1c2b44.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a0b494ef7570d031216f907d2c85ec323.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a0b494ef7570d031216f907d2c85ec323.html
index c2f794d8c..9fd94bea8 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a0b494ef7570d031216f907d2c85ec323.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a0b494ef7570d031216f907d2c85ec323.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a15e9cf4c5a43238e82ab69c4a295c491.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a15e9cf4c5a43238e82ab69c4a295c491.html
index d732542c0..964f7f2be 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a15e9cf4c5a43238e82ab69c4a295c491.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a15e9cf4c5a43238e82ab69c4a295c491.html
@@ -128,7 +128,7 @@ template<typename Base >
@@ -138,7 +138,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a1c84e6d1f047ab4105fa665f455158a7.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a1c84e6d1f047ab4105fa665f455158a7.html
index acbcc5fee..9c593796e 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a1c84e6d1f047ab4105fa665f455158a7.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a1c84e6d1f047ab4105fa665f455158a7.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a2a1dc92fbec862883c8b89755c787c99.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a2a1dc92fbec862883c8b89755c787c99.html
index d0f1cd150..3cc754f76 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a2a1dc92fbec862883c8b89755c787c99.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a2a1dc92fbec862883c8b89755c787c99.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a5ee9ec91a6ddcd8d72278d681361626f.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a5ee9ec91a6ddcd8d72278d681361626f.html
index 0031d2150..157c0b489 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a5ee9ec91a6ddcd8d72278d681361626f.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a5ee9ec91a6ddcd8d72278d681361626f.html
@@ -117,7 +117,7 @@ template<typename Base >
@@ -127,7 +127,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a61d31531e0dfc5448e7fa15678b05bbe.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a61d31531e0dfc5448e7fa15678b05bbe.html
index c0656f8b6..7dde9d947 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a61d31531e0dfc5448e7fa15678b05bbe.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a61d31531e0dfc5448e7fa15678b05bbe.html
@@ -128,7 +128,7 @@ template<typename Base >
@@ -138,7 +138,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a6bd38ed124df0332ba3263a9176b0101.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a6bd38ed124df0332ba3263a9176b0101.html
index e58836ec0..2cca73090 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a6bd38ed124df0332ba3263a9176b0101.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a6bd38ed124df0332ba3263a9176b0101.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a70086e392779ecbbc9e6845b2be126a0.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a70086e392779ecbbc9e6845b2be126a0.html
index 89eccb644..fb7eba679 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a70086e392779ecbbc9e6845b2be126a0.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a70086e392779ecbbc9e6845b2be126a0.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aa82b48aee07baee284f8340b37ec6864.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aa82b48aee07baee284f8340b37ec6864.html
index 49489437b..3d0eaac07 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aa82b48aee07baee284f8340b37ec6864.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aa82b48aee07baee284f8340b37ec6864.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ab6245ab29d8481ef2a2351c02cc31d4d.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ab6245ab29d8481ef2a2351c02cc31d4d.html
index fedefd8f2..d0fa245ce 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ab6245ab29d8481ef2a2351c02cc31d4d.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ab6245ab29d8481ef2a2351c02cc31d4d.html
@@ -117,7 +117,7 @@ template<typename Base >
@@ -127,7 +127,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac427d8f61858c13b7c16649bfbf75e76.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac427d8f61858c13b7c16649bfbf75e76.html
index ea142b3b3..bf5fa18d3 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac427d8f61858c13b7c16649bfbf75e76.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac427d8f61858c13b7c16649bfbf75e76.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad3d6837b6f97065625c6c65f62f4b6d4.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad3d6837b6f97065625c6c65f62f4b6d4.html
index 3e8198641..2c87c9d20 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad3d6837b6f97065625c6c65f62f4b6d4.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad3d6837b6f97065625c6c65f62f4b6d4.html
@@ -128,7 +128,7 @@ template<typename Base >
@@ -138,7 +138,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ae988bd36b7d098b1157871f83b2d6265.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ae988bd36b7d098b1157871f83b2d6265.html
index fad688986..1785e6b02 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ae988bd36b7d098b1157871f83b2d6265.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ae988bd36b7d098b1157871f83b2d6265.html
@@ -129,7 +129,7 @@ template<typename Base >
@@ -139,7 +139,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_af972fce017b24906236ab235857a11a8.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_af972fce017b24906236ab235857a11a8.html
index 89bd1297a..fb1075c7f 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_af972fce017b24906236ab235857a11a8.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_af972fce017b24906236ab235857a11a8.html
@@ -128,7 +128,7 @@ template<typename Base >
@@ -138,7 +138,7 @@ template<typename Base >
diff --git a/classnlohmann_1_1basic__json_a01a2643289b69cd71d9b3f3fc209b748.html b/classnlohmann_1_1basic__json_a01a2643289b69cd71d9b3f3fc209b748.html
index b76791149..5c79352d6 100644
--- a/classnlohmann_1_1basic__json_a01a2643289b69cd71d9b3f3fc209b748.html
+++ b/classnlohmann_1_1basic__json_a01a2643289b69cd71d9b3f3fc209b748.html
@@ -279,13 +279,13 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-size_type count(typename object_t::key_type key) const
returns the number of occurrences of a key in a JSON object
+size_type count(typename object_t::key_type key) const
returns the number of occurrences of a key in a JSON object
Output (play with this example online): number of elements with key "two": 1
number of elements with key "three": 0
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/count.cpp -o count
- Since
- version 1.0
-Definition at line 3529 of file json.hpp.
+Definition at line 3546 of file json.hpp.
@@ -295,7 +295,7 @@ number of elements with key "three": 0
diff --git a/classnlohmann_1_1basic__json_a0703ae5cbd2daac5e6c0ae01d3a1b114.html b/classnlohmann_1_1basic__json_a0703ae5cbd2daac5e6c0ae01d3a1b114.html
index b936ddd0d..06bf4fb68 100644
--- a/classnlohmann_1_1basic__json_a0703ae5cbd2daac5e6c0ae01d3a1b114.html
+++ b/classnlohmann_1_1basic__json_a0703ae5cbd2daac5e6c0ae01d3a1b114.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON object or null |
+ | std::domain_error | when called on a type other than JSON object or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): {"one":1,"two":2}
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back__object_t__value.cpp -o push_back__object_t__value
- Since
- version 1.0
-Definition at line 4182 of file json.hpp.
+Definition at line 4203 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a07c9c38a1f01675759e05d5d34627343.html b/classnlohmann_1_1basic__json_a07c9c38a1f01675759e05d5d34627343.html
index daa383d9e..f099fb399 100644
--- a/classnlohmann_1_1basic__json_a07c9c38a1f01675759e05d5d34627343.html
+++ b/classnlohmann_1_1basic__json_a07c9c38a1f01675759e05d5d34627343.html
@@ -272,7 +272,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
| std::domain_error | if called on JSON values other than arrays |
- | std::domain_error | if pos is not an iterator of *this |
+ | std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
@@ -294,15 +294,15 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << v <<
'\n';
a class to store JSON values
-iterator begin()
returns an iterator to the first element
+iterator begin()
returns an iterator to the first element
namespace for Niels Lohmann
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
Output (play with this example online): 10
[1,2,10,3,4]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert.cpp -o insert
- Since
- version 1.0
-Definition at line 4234 of file json.hpp.
+Definition at line 4256 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a088460b5d95f384a4f2ec9e52f4f66ba.html b/classnlohmann_1_1basic__json_a088460b5d95f384a4f2ec9e52f4f66ba.html
index f585b8b15..5c92c292d 100644
--- a/classnlohmann_1_1basic__json_a088460b5d95f384a4f2ec9e52f4f66ba.html
+++ b/classnlohmann_1_1basic__json_a088460b5d95f384a4f2ec9e52f4f66ba.html
@@ -278,7 +278,7 @@ template<template< typename U, typename V, typename...Args > class Obje
24 std::cout << j_string.
is_string() <<
'\n';
a class to store JSON values
-bool is_string() const noexcept
return whether value is a string
+bool is_string() const noexcept
return whether value is a string
namespace for Niels Lohmann
Output (play with this example online): false
false
@@ -290,7 +290,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_string.cpp -o is_string
- Since
- version 1.0
-Definition at line 2100 of file json.hpp.
+Definition at line 2103 of file json.hpp.
@@ -300,7 +300,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a0afa4512f03406db0d0432657e9c7361.html b/classnlohmann_1_1basic__json_a0afa4512f03406db0d0432657e9c7361.html
index 3ab79bb3c..b694daceb 100644
--- a/classnlohmann_1_1basic__json_a0afa4512f03406db0d0432657e9c7361.html
+++ b/classnlohmann_1_1basic__json_a0afa4512f03406db0d0432657e9c7361.html
@@ -346,7 +346,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a114095c452ca2f4ba976548df3da68be.html b/classnlohmann_1_1basic__json_a114095c452ca2f4ba976548df3da68be.html
index 07060e53d..5bcc03754 100644
--- a/classnlohmann_1_1basic__json_a114095c452ca2f4ba976548df3da68be.html
+++ b/classnlohmann_1_1basic__json_a114095c452ca2f4ba976548df3da68be.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-bool is_null() const noexcept
return whether value is null
+bool is_null() const noexcept
return whether value is null
Output (play with this example online): true
false
false
@@ -290,7 +290,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_null.cpp -o is_null
- Since
- version 1.0
-Definition at line 1954 of file json.hpp.
+Definition at line 1957 of file json.hpp.
@@ -300,7 +300,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a11c3dd843c21c58daa651e84046a82af.html b/classnlohmann_1_1basic__json_a11c3dd843c21c58daa651e84046a82af.html
index 32f3fd230..f209741f7 100644
--- a/classnlohmann_1_1basic__json_a11c3dd843c21c58daa651e84046a82af.html
+++ b/classnlohmann_1_1basic__json_a11c3dd843c21c58daa651e84046a82af.html
@@ -277,7 +277,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << j_array.
is_array() <<
'\n';
24 std::cout << j_string.
is_array() <<
'\n';
-bool is_array() const noexcept
return whether value is an array
+bool is_array() const noexcept
return whether value is an array
a class to store JSON values
namespace for Niels Lohmann
Output (play with this example online): false
@@ -290,7 +290,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_array.cpp -o is_array
- Since
- version 1.0
-Definition at line 2081 of file json.hpp.
+Definition at line 2084 of file json.hpp.
@@ -300,7 +300,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html b/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
index 19102d809..49bba0e87 100644
--- a/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
+++ b/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
@@ -306,7 +306,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__equal.cpp -o operator__equal
- Since
- version 1.0
-Definition at line 4573 of file json.hpp.
+Definition at line 4600 of file json.hpp.
@@ -316,7 +316,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a13e5642dbfa1602c937d295a085413cc.html b/classnlohmann_1_1basic__json_a13e5642dbfa1602c937d295a085413cc.html
index f931ebb78..def50bd67 100644
--- a/classnlohmann_1_1basic__json_a13e5642dbfa1602c937d295a085413cc.html
+++ b/classnlohmann_1_1basic__json_a13e5642dbfa1602c937d295a085413cc.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a1683189bd539313b5559f07961166c8b.html b/classnlohmann_1_1basic__json_a1683189bd539313b5559f07961166c8b.html
index ea72110e1..a974ae64a 100644
--- a/classnlohmann_1_1basic__json_a1683189bd539313b5559f07961166c8b.html
+++ b/classnlohmann_1_1basic__json_a1683189bd539313b5559f07961166c8b.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a16a275d0201e9aedc87c933c764b8869.html b/classnlohmann_1_1basic__json_a16a275d0201e9aedc87c933c764b8869.html
index 29271bd93..300681967 100644
--- a/classnlohmann_1_1basic__json_a16a275d0201e9aedc87c933c764b8869.html
+++ b/classnlohmann_1_1basic__json_a16a275d0201e9aedc87c933c764b8869.html
@@ -294,7 +294,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
namespace for Niels Lohmann
Output (play with this example online): "il brutto"
out of range
@@ -304,7 +304,7 @@ out of range
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 2754 of file json.hpp.
+Definition at line 2757 of file json.hpp.
@@ -314,7 +314,7 @@ out of range
diff --git a/classnlohmann_1_1basic__json_a1dc0c521042807e216d11110d2f002ff.html b/classnlohmann_1_1basic__json_a1dc0c521042807e216d11110d2f002ff.html
index 5890dea1a..70cab2fa9 100644
--- a/classnlohmann_1_1basic__json_a1dc0c521042807e216d11110d2f002ff.html
+++ b/classnlohmann_1_1basic__json_a1dc0c521042807e216d11110d2f002ff.html
@@ -306,7 +306,7 @@ template<class CompatibleStringType , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html b/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
index 01103d0a8..7960abe21 100644
--- a/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
+++ b/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
@@ -285,7 +285,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a234f03dce002783748ca401a42bc6472.html b/classnlohmann_1_1basic__json_a234f03dce002783748ca401a42bc6472.html
index f62c5dae1..f95b5468f 100644
--- a/classnlohmann_1_1basic__json_a234f03dce002783748ca401a42bc6472.html
+++ b/classnlohmann_1_1basic__json_a234f03dce002783748ca401a42bc6472.html
@@ -282,9 +282,9 @@ template<typename PointerType , typename std::enable_if<
19 std::cout << std::boolalpha << (p5 ==
nullptr) <<
'\n';
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
-PointerType get_ptr() noexcept
get a pointer value (implicit)
+PointerType get_ptr() noexcept
get a pointer value (implicit)
NumberIntegerType number_integer_t
a type for a number (integer)
NumberFloatType number_float_t
a type for a number (floating-point)
Output (play with this example online): 17 17 17 17
@@ -292,7 +292,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/get_ptr.cpp -o get_ptr
- Since
- version 1.0
-Definition at line 2539 of file json.hpp.
+Definition at line 2542 of file json.hpp.
@@ -302,7 +302,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a266c4dd24d11a86e4831523af5d9df4d.html b/classnlohmann_1_1basic__json_a266c4dd24d11a86e4831523af5d9df4d.html
index 95521ebc7..55227de4e 100644
--- a/classnlohmann_1_1basic__json_a266c4dd24d11a86e4831523af5d9df4d.html
+++ b/classnlohmann_1_1basic__json_a266c4dd24d11a86e4831523af5d9df4d.html
@@ -265,7 +265,7 @@ This function is required for compatibility reasons with Clang.
- Returns
- reference to the element at key key
- Exceptions
-
- | std::domain_error | if JSON is not an object or null |
+ | std::domain_error | if JSON is not an object or null; example: "cannot use operator[] with null" |
@@ -327,7 +327,7 @@ This function is required for compatibility reasons with Clang.
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 2969 of file json.hpp.
+Definition at line 2977 of file json.hpp.
@@ -337,7 +337,7 @@ This function is required for compatibility reasons with Clang.
diff --git a/classnlohmann_1_1basic__json_a26b7e4876af25eae5800ce43f93aaef2.html b/classnlohmann_1_1basic__json_a26b7e4876af25eae5800ce43f93aaef2.html
index 54e830b9d..d2e6735d5 100644
--- a/classnlohmann_1_1basic__json_a26b7e4876af25eae5800ce43f93aaef2.html
+++ b/classnlohmann_1_1basic__json_a26b7e4876af25eae5800ce43f93aaef2.html
@@ -287,7 +287,8 @@ Unlike Returnscopy of the element at key key or default_value if key is not found
- Exceptions
-
- | std::domain_error | if JSON is not an object |
+ | std::domain_error | if JSON is not an object; example: "cannot use
+value() with null" |
@@ -322,7 +323,7 @@ Unlike 28 << " " << v_string << " " << v_boolean << "\n";
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
Output (play with this example online): 1 42.23 oops false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__value.cpp -o basic_json__value
@@ -331,7 +332,7 @@ Unlike operator[](const typename object_t::key_type&) for unchecked access by reference
- Since
- version 1.0
-Definition at line 3082 of file json.hpp.
+Definition at line 3092 of file json.hpp.
@@ -341,7 +342,7 @@ Unlike
diff --git a/classnlohmann_1_1basic__json_a2adfc8d24bea3908398cbf325b5dc1d7.html b/classnlohmann_1_1basic__json_a2adfc8d24bea3908398cbf325b5dc1d7.html
index 3b186c8e1..66c537498 100644
--- a/classnlohmann_1_1basic__json_a2adfc8d24bea3908398cbf325b5dc1d7.html
+++ b/classnlohmann_1_1basic__json_a2adfc8d24bea3908398cbf325b5dc1d7.html
@@ -277,13 +277,13 @@ Illustration from cppreference.com
a class to store JSON values
namespace for Niels Lohmann
-const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
+const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
a template for a reverse iterator class
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/crbegin.cpp -o crbegin
- Since
- version 1.0
-Definition at line 3688 of file json.hpp.
+Definition at line 3705 of file json.hpp.
@@ -293,7 +293,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a2f07bcf7e75c34396476dd1790f26ce8.html b/classnlohmann_1_1basic__json_a2f07bcf7e75c34396476dd1790f26ce8.html
index 71aa32d98..805736090 100644
--- a/classnlohmann_1_1basic__json_a2f07bcf7e75c34396476dd1790f26ce8.html
+++ b/classnlohmann_1_1basic__json_a2f07bcf7e75c34396476dd1790f26ce8.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON object or null |
+ | std::domain_error | when called on a type other than JSON object or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): {"one":1,"two":2}
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back__object_t__value.cpp -o push_back__object_t__value
- Since
- version 1.0
-Definition at line 4159 of file json.hpp.
+Definition at line 4180 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a3173944e7b1809a333def4078a0b92a3.html b/classnlohmann_1_1basic__json_a3173944e7b1809a333def4078a0b92a3.html
index 492c8ba78..089b7f3cf 100644
--- a/classnlohmann_1_1basic__json_a3173944e7b1809a333def4078a0b92a3.html
+++ b/classnlohmann_1_1basic__json_a3173944e7b1809a333def4078a0b92a3.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON array or null |
+ | std::domain_error | when called on a type other than JSON array or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): [1,2,3,4,5]
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back
- Since
- version 1.0
-Definition at line 4100 of file json.hpp.
+Definition at line 4121 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a317b01b0fba3ac458561f1634759ea3b.html b/classnlohmann_1_1basic__json_a317b01b0fba3ac458561f1634759ea3b.html
index fb606e887..e102f8916 100644
--- a/classnlohmann_1_1basic__json_a317b01b0fba3ac458561f1634759ea3b.html
+++ b/classnlohmann_1_1basic__json_a317b01b0fba3ac458561f1634759ea3b.html
@@ -250,9 +250,10 @@ template<template< typename U, typename V, typename...Args > class Obje
-
This functuion allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.
+
This functuion allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.
+
- Note
- The name of this function is not yet final and may change in the future.
-
Definition at line 3783 of file json.hpp.
+
Definition at line 3803 of file json.hpp.
@@ -262,7 +263,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a3287df6546c905fb0a5786deb4b1cf32.html b/classnlohmann_1_1basic__json_a3287df6546c905fb0a5786deb4b1cf32.html
index 49cff6268..ba5a4c36f 100644
--- a/classnlohmann_1_1basic__json_a3287df6546c905fb0a5786deb4b1cf32.html
+++ b/classnlohmann_1_1basic__json_a3287df6546c905fb0a5786deb4b1cf32.html
@@ -306,7 +306,7 @@ template<template< typename U, typename V, typename...Args > class Obje
object (unordered set of name/value pairs)
namespace for Niels Lohmann
array (ordered collection of values)
-bool empty() const noexcept
checks whether the container is empty
+bool empty() const noexcept
checks whether the container is empty
Output (play with this example online): true
false
false
@@ -319,7 +319,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/empty.cpp -o empty
- Since
- version 1.0
-Definition at line 3835 of file json.hpp.
+Definition at line 3855 of file json.hpp.
@@ -329,7 +329,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a33f1632cfdbf460b4913f4e8a43dd9e4.html b/classnlohmann_1_1basic__json_a33f1632cfdbf460b4913f4e8a43dd9e4.html
index aa20c3bad..47c8ad5b9 100644
--- a/classnlohmann_1_1basic__json_a33f1632cfdbf460b4913f4e8a43dd9e4.html
+++ b/classnlohmann_1_1basic__json_a33f1632cfdbf460b4913f4e8a43dd9e4.html
@@ -282,7 +282,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__moveconstructor.cpp -o basic_json__moveconstructor
- Since
- version 1.0
-Definition at line 1738 of file json.hpp.
+Definition at line 1741 of file json.hpp.
@@ -292,7 +292,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html b/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
index 4d7b86529..b2795b430 100644
--- a/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
+++ b/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
@@ -310,7 +310,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize
- Since
- version 1.0
-Definition at line 4882 of file json.hpp.
+Definition at line 4909 of file json.hpp.
@@ -320,7 +320,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a3d4e4bab95b24ccab42ed37e0ede2d98.html b/classnlohmann_1_1basic__json_a3d4e4bab95b24ccab42ed37e0ede2d98.html
index 52934fb51..704006b7c 100644
--- a/classnlohmann_1_1basic__json_a3d4e4bab95b24ccab42ed37e0ede2d98.html
+++ b/classnlohmann_1_1basic__json_a3d4e4bab95b24ccab42ed37e0ede2d98.html
@@ -297,7 +297,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a42f9133f978dde4cce5851b2c2434a0c.html b/classnlohmann_1_1basic__json_a42f9133f978dde4cce5851b2c2434a0c.html
index 63de5c8cf..28703a832 100644
--- a/classnlohmann_1_1basic__json_a42f9133f978dde4cce5851b2c2434a0c.html
+++ b/classnlohmann_1_1basic__json_a42f9133f978dde4cce5851b2c2434a0c.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
object (unordered set of name/value pairs)
-value_t type() const noexcept
return the type of the JSON value (explicit)
+value_t type() const noexcept
return the type of the JSON value (explicit)
namespace for Niels Lohmann
array (ordered collection of values)
@@ -297,7 +297,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/type.cpp -o type
- Since
- version 1.0
-Definition at line 1894 of file json.hpp.
+Definition at line 1897 of file json.hpp.
@@ -307,7 +307,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a4361aa791f3980abb239e4155a3450cb.html b/classnlohmann_1_1basic__json_a4361aa791f3980abb239e4155a3450cb.html
index 9482e7fb8..4323f722b 100644
--- a/classnlohmann_1_1basic__json_a4361aa791f3980abb239e4155a3450cb.html
+++ b/classnlohmann_1_1basic__json_a4361aa791f3980abb239e4155a3450cb.html
@@ -277,14 +277,14 @@ Illustration from cppreference.com
14 std::cout << *it <<
'\n';
a class to store JSON values
-const_iterator cbegin() const
returns a const iterator to the first element
+const_iterator cbegin() const
returns a const iterator to the first element
namespace for Niels Lohmann
-a const random access iterator for the basic_json class
+a const random access iterator for the basic_json class
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/cbegin.cpp -o cbegin
- Since
- version 1.0
-Definition at line 3573 of file json.hpp.
+Definition at line 3590 of file json.hpp.
@@ -294,7 +294,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a457fec897d7b6283c60ca236ebb1f5e8.html b/classnlohmann_1_1basic__json_a457fec897d7b6283c60ca236ebb1f5e8.html
index 7ec2eb5fa..fd586791b 100644
--- a/classnlohmann_1_1basic__json_a457fec897d7b6283c60ca236ebb1f5e8.html
+++ b/classnlohmann_1_1basic__json_a457fec897d7b6283c60ca236ebb1f5e8.html
@@ -297,7 +297,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a48c8d153bc2fd1af655063a4b984feac.html b/classnlohmann_1_1basic__json_a48c8d153bc2fd1af655063a4b984feac.html
index 478954a71..aca0589fb 100644
--- a/classnlohmann_1_1basic__json_a48c8d153bc2fd1af655063a4b984feac.html
+++ b/classnlohmann_1_1basic__json_a48c8d153bc2fd1af655063a4b984feac.html
@@ -299,7 +299,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a4943b7f16ddc4e0df33c0cae7ef14471.html b/classnlohmann_1_1basic__json_a4943b7f16ddc4e0df33c0cae7ef14471.html
index 1c5f7c60c..0939c01e5 100644
--- a/classnlohmann_1_1basic__json_a4943b7f16ddc4e0df33c0cae7ef14471.html
+++ b/classnlohmann_1_1basic__json_a4943b7f16ddc4e0df33c0cae7ef14471.html
@@ -280,13 +280,13 @@ Illustration from cppreference.com
a class to store JSON values
namespace for Niels Lohmann
-const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
+const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
a template for a reverse iterator class
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/crend.cpp -o crend
- Since
- version 1.0
-Definition at line 3765 of file json.hpp.
+Definition at line 3782 of file json.hpp.
@@ -296,7 +296,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a4ad3f27ecece8f644e8dca69a97eb67f.html b/classnlohmann_1_1basic__json_a4ad3f27ecece8f644e8dca69a97eb67f.html
index 8b406e3a6..6776aff4f 100644
--- a/classnlohmann_1_1basic__json_a4ad3f27ecece8f644e8dca69a97eb67f.html
+++ b/classnlohmann_1_1basic__json_a4ad3f27ecece8f644e8dca69a97eb67f.html
@@ -280,13 +280,13 @@ Illustration from cppreference.com
a class to store JSON values
namespace for Niels Lohmann
-const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
+const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
a template for a reverse iterator class
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/crend.cpp -o crend
- Since
- version 1.0
-Definition at line 3719 of file json.hpp.
+Definition at line 3736 of file json.hpp.
@@ -296,7 +296,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a4bf695ddf4a00ea8feea2c725ec847f1.html b/classnlohmann_1_1basic__json_a4bf695ddf4a00ea8feea2c725ec847f1.html
index 62d596e70..e90c08dca 100644
--- a/classnlohmann_1_1basic__json_a4bf695ddf4a00ea8feea2c725ec847f1.html
+++ b/classnlohmann_1_1basic__json_a4bf695ddf4a00ea8feea2c725ec847f1.html
@@ -286,13 +286,13 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
ObjectType< StringType, basic_json, std::less< StringType >, AllocatorType< std::pair< const StringType, basic_json >>> object_t
a type for an object
namespace for Niels Lohmann
-void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
+void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
Output (play with this example online): value = {"translation":{"cow":"Kuh","dog":"Hund"}}
object = {"one":"eins","two":"zwei"}
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/swap__object_t.cpp -o swap__object_t
- Since
- version 1.0
-Definition at line 4462 of file json.hpp.
+Definition at line 4489 of file json.hpp.
@@ -302,7 +302,7 @@ object = {"one":"eins","two":"zwei"}
diff --git a/classnlohmann_1_1basic__json_a4d688b5ff534d3ab4e284b3191061529.html b/classnlohmann_1_1basic__json_a4d688b5ff534d3ab4e284b3191061529.html
index 10e06c277..0058db12c 100644
--- a/classnlohmann_1_1basic__json_a4d688b5ff534d3ab4e284b3191061529.html
+++ b/classnlohmann_1_1basic__json_a4d688b5ff534d3ab4e284b3191061529.html
@@ -277,13 +277,13 @@ Illustration from cppreference.com
a class to store JSON values
namespace for Niels Lohmann
-const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
+const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
a template for a reverse iterator class
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/crbegin.cpp -o crbegin
- Since
- version 1.0
-Definition at line 3742 of file json.hpp.
+Definition at line 3759 of file json.hpp.
@@ -293,7 +293,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a5114ed5eb394a2805da0bd1acba95ae2.html b/classnlohmann_1_1basic__json_a5114ed5eb394a2805da0bd1acba95ae2.html
index de048ae85..06c6d3f00 100644
--- a/classnlohmann_1_1basic__json_a5114ed5eb394a2805da0bd1acba95ae2.html
+++ b/classnlohmann_1_1basic__json_a5114ed5eb394a2805da0bd1acba95ae2.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON array or null |
+ | std::domain_error | when called on a type other than JSON array or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): [1,2,3,4,5]
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back
- Since
- version 1.0
-Definition at line 4110 of file json.hpp.
+Definition at line 4131 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a53a2abfdd4f72c7df5aba1155bf03e48.html b/classnlohmann_1_1basic__json_a53a2abfdd4f72c7df5aba1155bf03e48.html
index 00cebc5f0..8da8dab27 100644
--- a/classnlohmann_1_1basic__json_a53a2abfdd4f72c7df5aba1155bf03e48.html
+++ b/classnlohmann_1_1basic__json_a53a2abfdd4f72c7df5aba1155bf03e48.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-bool is_discarded() const noexcept
return whether value is discarded
+bool is_discarded() const noexcept
return whether value is discarded
namespace for Niels Lohmann
Output (play with this example online): false
false
@@ -291,7 +291,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_discarded.cpp -o is_discarded
- Since
- version 1.0
-Definition at line 2124 of file json.hpp.
+Definition at line 2127 of file json.hpp.
@@ -301,7 +301,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a57703688bee6b9736ab3a430d8d246f2.html b/classnlohmann_1_1basic__json_a57703688bee6b9736ab3a430d8d246f2.html
index 30b8929f2..77d6fda70 100644
--- a/classnlohmann_1_1basic__json_a57703688bee6b9736ab3a430d8d246f2.html
+++ b/classnlohmann_1_1basic__json_a57703688bee6b9736ab3a430d8d246f2.html
@@ -261,7 +261,8 @@ template<template< typename U, typename V, typename...Args > class Obje
- Returns
- reference to the element at index idx
- Exceptions
-
- | std::domain_error | if JSON is not an array or null |
+ | std::domain_error | if JSON is not an array or null; example: "cannot
+use operator[] with null" |
@@ -298,7 +299,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operatorarray__size_type.cpp -o operatorarray__size_type
- Since
- version 1.0
-Definition at line 2799 of file json.hpp.
+Definition at line 2803 of file json.hpp.
@@ -308,7 +309,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a57a96ab3ff1ce7b48a754129fb12c982.html b/classnlohmann_1_1basic__json_a57a96ab3ff1ce7b48a754129fb12c982.html
index 6cae0f377..fffe7c2e3 100644
--- a/classnlohmann_1_1basic__json_a57a96ab3ff1ce7b48a754129fb12c982.html
+++ b/classnlohmann_1_1basic__json_a57a96ab3ff1ce7b48a754129fb12c982.html
@@ -286,13 +286,13 @@ template<template< typename U, typename V, typename...Args > class Obje
StringType string_t
a type for a string
a class to store JSON values
namespace for Niels Lohmann
-void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
+void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
Output (play with this example online): value = ["the good","the fast","the ugly"]
string = the bad
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/swap__string_t.cpp -o swap__string_t
- Since
- version 1.0
-Definition at line 4494 of file json.hpp.
+Definition at line 4521 of file json.hpp.
@@ -302,7 +302,7 @@ string = the bad
diff --git a/classnlohmann_1_1basic__json_a5a2d4dbcdbc8ea065b87daf52cd786b9.html b/classnlohmann_1_1basic__json_a5a2d4dbcdbc8ea065b87daf52cd786b9.html
index 7a614ee14..53c567335 100644
--- a/classnlohmann_1_1basic__json_a5a2d4dbcdbc8ea065b87daf52cd786b9.html
+++ b/classnlohmann_1_1basic__json_a5a2d4dbcdbc8ea065b87daf52cd786b9.html
@@ -283,7 +283,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html b/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
index 18aacb8bc..6b4397579 100644
--- a/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
+++ b/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
@@ -302,7 +302,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__greater.cpp -o operator__greater
- Since
- version 1.0
-Definition at line 4783 of file json.hpp.
+Definition at line 4810 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a5d428360d75a52f6af74751d1cc912c6.html b/classnlohmann_1_1basic__json_a5d428360d75a52f6af74751d1cc912c6.html
index 6800fb6d0..c520c5e8f 100644
--- a/classnlohmann_1_1basic__json_a5d428360d75a52f6af74751d1cc912c6.html
+++ b/classnlohmann_1_1basic__json_a5d428360d75a52f6af74751d1cc912c6.html
@@ -306,7 +306,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__value_t.cpp -o operator__value_t
- Since
- version 1.0
-Definition at line 2144 of file json.hpp.
+Definition at line 2147 of file json.hpp.
@@ -316,7 +316,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html b/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
index ecbaa39a5..64c567446 100644
--- a/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
+++ b/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
@@ -310,7 +310,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize
- Since
- version 1.0
-Definition at line 4864 of file json.hpp.
+Definition at line 4891 of file json.hpp.
@@ -320,7 +320,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a5f0aad50ed7e8aec3128fe018c18b3fe.html b/classnlohmann_1_1basic__json_a5f0aad50ed7e8aec3128fe018c18b3fe.html
index 3c4a1ff07..08ca1af70 100644
--- a/classnlohmann_1_1basic__json_a5f0aad50ed7e8aec3128fe018c18b3fe.html
+++ b/classnlohmann_1_1basic__json_a5f0aad50ed7e8aec3128fe018c18b3fe.html
@@ -261,7 +261,7 @@ template<typename ValueType , typename std::enable_if<
- Returns
- copy of the JSON value, converted to type ValueType
- Exceptions
-
- | std::domain_error | in case passed type ValueType is incompatible to JSON |
+ | std::domain_error | in case passed type ValueType is incompatible to JSON; example: "type must be object, but is null" |
@@ -317,7 +317,7 @@ template<typename ValueType , typename std::enable_if<
a class to store JSON values
namespace for Niels Lohmann
-ValueType get() const
get a value (explicit)
+ValueType get() const
get a value (explicit)
Output (play with this example online): 1
42 42
17.23 17
@@ -335,7 +335,7 @@ array: [1,2,3,4,5]
get() for pointer-member access
- Since
- version 1.0
-Definition at line 2440 of file json.hpp.
+Definition at line 2443 of file json.hpp.
@@ -345,7 +345,7 @@ array: [1,2,3,4,5]
diff --git a/classnlohmann_1_1basic__json_a5fd8b54389698edf0c08e2dd001f610b.html b/classnlohmann_1_1basic__json_a5fd8b54389698edf0c08e2dd001f610b.html
index 66dd4eed8..3e401b11f 100644
--- a/classnlohmann_1_1basic__json_a5fd8b54389698edf0c08e2dd001f610b.html
+++ b/classnlohmann_1_1basic__json_a5fd8b54389698edf0c08e2dd001f610b.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html b/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
index 7564f9b27..5e610df1f 100644
--- a/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
+++ b/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
@@ -318,7 +318,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- parse(std::istream&, parser_callback_t) for a variant with a parser callback function to filter values while parsing
- Since
- version 1.0
-Definition at line 4986 of file json.hpp.
+Definition at line 5013 of file json.hpp.
@@ -328,7 +328,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a63691315292df8e1522b00d37ebb1ffc.html b/classnlohmann_1_1basic__json_a63691315292df8e1522b00d37ebb1ffc.html
index 84c96bb6e..680cccaaf 100644
--- a/classnlohmann_1_1basic__json_a63691315292df8e1522b00d37ebb1ffc.html
+++ b/classnlohmann_1_1basic__json_a63691315292df8e1522b00d37ebb1ffc.html
@@ -286,7 +286,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a652414dd930cb3af3b6f454cc535a23e.html b/classnlohmann_1_1basic__json_a652414dd930cb3af3b6f454cc535a23e.html
index 96459b191..5e0dd88e8 100644
--- a/classnlohmann_1_1basic__json_a652414dd930cb3af3b6f454cc535a23e.html
+++ b/classnlohmann_1_1basic__json_a652414dd930cb3af3b6f454cc535a23e.html
@@ -300,7 +300,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
namespace for Niels Lohmann
Output (play with this example online): "il brutto"
{"the bad":"il cattivo","the good":"il buono","the ugly":"il brutto"}
@@ -311,7 +311,7 @@ out of range: key 'the fast' not found
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 2707 of file json.hpp.
+Definition at line 2710 of file json.hpp.
@@ -321,7 +321,7 @@ out of range: key 'the fast' not found
diff --git a/classnlohmann_1_1basic__json_a656939a3dc9a6047e4afacd9e11b83a6.html b/classnlohmann_1_1basic__json_a656939a3dc9a6047e4afacd9e11b83a6.html
index 24e91545d..fec11a2aa 100644
--- a/classnlohmann_1_1basic__json_a656939a3dc9a6047e4afacd9e11b83a6.html
+++ b/classnlohmann_1_1basic__json_a656939a3dc9a6047e4afacd9e11b83a6.html
@@ -282,9 +282,9 @@ template<typename PointerType , typename std::enable_if<
19 std::cout << std::boolalpha << (p5 ==
nullptr) <<
'\n';
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
-PointerType get_ptr() noexcept
get a pointer value (implicit)
+PointerType get_ptr() noexcept
get a pointer value (implicit)
NumberIntegerType number_integer_t
a type for a number (integer)
NumberFloatType number_float_t
a type for a number (floating-point)
Output (play with this example online): 17 17 17 17
@@ -292,7 +292,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/get_ptr.cpp -o get_ptr
- Since
- version 1.0
-Definition at line 2524 of file json.hpp.
+Definition at line 2527 of file json.hpp.
@@ -302,7 +302,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a66f936cfbd252f85bd3dc2598e37a64b.html b/classnlohmann_1_1basic__json_a66f936cfbd252f85bd3dc2598e37a64b.html
index e18a57503..2f51b5343 100644
--- a/classnlohmann_1_1basic__json_a66f936cfbd252f85bd3dc2598e37a64b.html
+++ b/classnlohmann_1_1basic__json_a66f936cfbd252f85bd3dc2598e37a64b.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON array or null |
+ | std::domain_error | when called on a type other than JSON array or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): [1,2,3,4,5]
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back
- Since
- version 1.0
-Definition at line 4075 of file json.hpp.
+Definition at line 4096 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a6944904b3b59769b1cf62ac2532cbe33.html b/classnlohmann_1_1basic__json_a6944904b3b59769b1cf62ac2532cbe33.html
index ddd5d5456..1aae661ed 100644
--- a/classnlohmann_1_1basic__json_a6944904b3b59769b1cf62ac2532cbe33.html
+++ b/classnlohmann_1_1basic__json_a6944904b3b59769b1cf62ac2532cbe33.html
@@ -275,7 +275,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a696ced74d8edc0b63a000a72907ab109.html b/classnlohmann_1_1basic__json_a696ced74d8edc0b63a000a72907ab109.html
index 5faef940b..1abd8b476 100644
--- a/classnlohmann_1_1basic__json_a696ced74d8edc0b63a000a72907ab109.html
+++ b/classnlohmann_1_1basic__json_a696ced74d8edc0b63a000a72907ab109.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-bool is_number() const noexcept
return whether value is a number
+bool is_number() const noexcept
return whether value is a number
Output (play with this example online): false
false
true
@@ -293,7 +293,7 @@ false
is_number_float() – check if value is a floating-point number
- Since
- version 1.0
-Definition at line 1997 of file json.hpp.
+Definition at line 2000 of file json.hpp.
@@ -303,7 +303,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a6a7f45095675ac6fd1d018a0e41874be.html b/classnlohmann_1_1basic__json_a6a7f45095675ac6fd1d018a0e41874be.html
index e925b9728..faea018b9 100644
--- a/classnlohmann_1_1basic__json_a6a7f45095675ac6fd1d018a0e41874be.html
+++ b/classnlohmann_1_1basic__json_a6a7f45095675ac6fd1d018a0e41874be.html
@@ -282,10 +282,11 @@ template<class InputIT , typename std::enable_if<
- Exceptions
-
- | std::domain_error | if iterators are not compatible; that is, do not belong to the same JSON value |
- | std::out_of_range | if iterators are for a primitive type (number, boolean, or string) where an out of range error can be detected easily |
+ | std::domain_error | if iterators are not compatible; that is, do not belong to the same JSON value; example: "iterators are not compatible" |
+ | std::out_of_range | if iterators are for a primitive type (number, boolean, or string) where an out of range error can be detected easily; example: "iterators out of range" |
| std::bad_alloc | if allocation for object, array, or string fails |
- | std::domain_error | if called with a null value |
+ | std::domain_error | if called with a null value; example: "cannot use
+construct with iterators from null" |
@@ -312,9 +313,9 @@ template<class InputIT , typename std::enable_if<
20 std::cout << j_object_range <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
-iterator begin()
returns an iterator to the first element
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator end()
returns an iterator to one past the last element
+iterator begin()
returns an iterator to the first element
+iterator find(typename object_t::key_type key)
find an element in a JSON object
namespace for Niels Lohmann
Output (play with this example online): ["bravo","charly"]
42
@@ -322,7 +323,7 @@ template<class InputIT , typename std::enable_if<
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__InputIt_InputIt.cpp -o basic_json__InputIt_InputIt
- Since
- version 1.0
-Definition at line 1574 of file json.hpp.
+Definition at line 1577 of file json.hpp.
@@ -332,7 +333,7 @@ template<class InputIT , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_a6b7428e8c1169497f47b81667001cbfb.html b/classnlohmann_1_1basic__json_a6b7428e8c1169497f47b81667001cbfb.html
index 437446a64..479adab22 100644
--- a/classnlohmann_1_1basic__json_a6b7428e8c1169497f47b81667001cbfb.html
+++ b/classnlohmann_1_1basic__json_a6b7428e8c1169497f47b81667001cbfb.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
| std::domain_error | if called on JSON values other than arrays |
- | std::domain_error | if pos is not an iterator of *this |
+ | std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
@@ -301,15 +301,15 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << v <<
'\n';
a class to store JSON values
-iterator begin()
returns an iterator to the first element
+iterator begin()
returns an iterator to the first element
namespace for Niels Lohmann
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
Output (play with this example online): 7
[1,2,7,7,7,7,7,7,7,3,4]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert__count.cpp -o insert__count
- Since
- version 1.0
-Definition at line 4261 of file json.hpp.
+Definition at line 4284 of file json.hpp.
@@ -319,7 +319,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a6bbd3e72a870f1ba81ff6886b063b0fe.html b/classnlohmann_1_1basic__json_a6bbd3e72a870f1ba81ff6886b063b0fe.html
index 58067e0c9..4eeb9c32c 100644
--- a/classnlohmann_1_1basic__json_a6bbd3e72a870f1ba81ff6886b063b0fe.html
+++ b/classnlohmann_1_1basic__json_a6bbd3e72a870f1ba81ff6886b063b0fe.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a6dff6a02a2be250b8f8dc2f47be65544.html b/classnlohmann_1_1basic__json_a6dff6a02a2be250b8f8dc2f47be65544.html
index 1bf582866..33b48c7fb 100644
--- a/classnlohmann_1_1basic__json_a6dff6a02a2be250b8f8dc2f47be65544.html
+++ b/classnlohmann_1_1basic__json_a6dff6a02a2be250b8f8dc2f47be65544.html
@@ -259,8 +259,9 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON array |
- | std::out_of_range | when idx >= size() |
+ | std::domain_error | when called on a type other than JSON array; example: "cannot use erase() with null" |
+ | std::out_of_range | when idx >= size(); example: "index out of
+range" |
@@ -282,7 +283,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-InteratorType erase(InteratorType pos)
remove element given an iterator
+InteratorType erase(InteratorType pos)
remove element given an iterator
Output (play with this example online): [0,1,3,4,5]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/erase__size_type.cpp -o erase__size_type
- See also
- erase(InteratorType) – removes the element at a given position
@@ -292,7 +293,7 @@ template<template< typename U, typename V, typename...Args > class Obje
erase(const typename object_t::key_type&) – remvoes the element from an object at the given key
- Since
- version 1.0
-Definition at line 3448 of file json.hpp.
+Definition at line 3465 of file json.hpp.
@@ -302,7 +303,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html b/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
index daace6ef5..6a838cbd5 100644
--- a/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
+++ b/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
@@ -302,7 +302,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__notequal.cpp -o operator__notequal
- Since
- version 1.0
-Definition at line 4661 of file json.hpp.
+Definition at line 4688 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a71eba33d906745e66f340952b79fbce3.html b/classnlohmann_1_1basic__json_a71eba33d906745e66f340952b79fbce3.html
index 14956292e..ccf293870 100644
--- a/classnlohmann_1_1basic__json_a71eba33d906745e66f340952b79fbce3.html
+++ b/classnlohmann_1_1basic__json_a71eba33d906745e66f340952b79fbce3.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a72442ccbb378b4464a24a2da1e784041.html b/classnlohmann_1_1basic__json_a72442ccbb378b4464a24a2da1e784041.html
index d75c774d8..5ca5a2bb7 100644
--- a/classnlohmann_1_1basic__json_a72442ccbb378b4464a24a2da1e784041.html
+++ b/classnlohmann_1_1basic__json_a72442ccbb378b4464a24a2da1e784041.html
@@ -285,7 +285,8 @@ Unlike Returnscopy of the element at key key or default_value if key is not found
- Exceptions
-
- | std::domain_error | if JSON is not an object |
+ | std::domain_error | if JSON is not an object; example: "cannot use
+value() with null" |
@@ -320,7 +321,7 @@ Unlike 28 << " " << v_string << " " << v_boolean << "\n";
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
Output (play with this example online): 1 42.23 oops false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__value.cpp -o basic_json__value
@@ -329,7 +330,7 @@ Unlike operator[](const typename object_t::key_type&) for unchecked access by reference
- Since
- version 1.0
-Definition at line 3108 of file json.hpp.
+Definition at line 3118 of file json.hpp.
@@ -339,7 +340,7 @@ Unlike
diff --git a/classnlohmann_1_1basic__json_a72ba20783ecb3eec98bd6a3b870d565c.html b/classnlohmann_1_1basic__json_a72ba20783ecb3eec98bd6a3b870d565c.html
index 72ec1bed5..354e0250f 100644
--- a/classnlohmann_1_1basic__json_a72ba20783ecb3eec98bd6a3b870d565c.html
+++ b/classnlohmann_1_1basic__json_a72ba20783ecb3eec98bd6a3b870d565c.html
@@ -280,14 +280,14 @@ Illustration from cppreference.com
17 std::cout << *it <<
'\n';
a class to store JSON values
-const_iterator cend() const
returns a const iterator to one past the last element
+const_iterator cend() const
returns a const iterator to one past the last element
namespace for Niels Lohmann
-a const random access iterator for the basic_json class
+a const random access iterator for the basic_json class
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/cend.cpp -o cend
- Since
- version 1.0
-Definition at line 3656 of file json.hpp.
+Definition at line 3673 of file json.hpp.
@@ -297,7 +297,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a74472977b798c7b7989e6e7cb960ecff.html b/classnlohmann_1_1basic__json_a74472977b798c7b7989e6e7cb960ecff.html
index d2c619f0e..a7dc8586f 100644
--- a/classnlohmann_1_1basic__json_a74472977b798c7b7989e6e7cb960ecff.html
+++ b/classnlohmann_1_1basic__json_a74472977b798c7b7989e6e7cb960ecff.html
@@ -303,7 +303,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html b/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
index 3c6ebd910..3cd7c2c20 100644
--- a/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
+++ b/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
@@ -302,7 +302,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__greaterequal.cpp -o operator__greaterequal
- Since
- version 1.0
-Definition at line 4827 of file json.hpp.
+Definition at line 4854 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a74ccfa471a0c061876b247f820f3c741.html b/classnlohmann_1_1basic__json_a74ccfa471a0c061876b247f820f3c741.html
index 2b050b423..701683964 100644
--- a/classnlohmann_1_1basic__json_a74ccfa471a0c061876b247f820f3c741.html
+++ b/classnlohmann_1_1basic__json_a74ccfa471a0c061876b247f820f3c741.html
@@ -325,13 +325,13 @@ template<template< typename U, typename V, typename...Args > class Obje
54 std::cout << std::setw(4) << j_filtered <<
'\n';
-basic_json<> json
default JSON class
+basic_json<> json
default JSON class
a class to store JSON values
std::function< bool(int depth, parse_event_t event, basic_json &parsed)> parser_callback_t
per-element parser callback type
namespace for Niels Lohmann
-void clear() noexcept
clears the contents
+void clear() noexcept
clears the contents
the parser read a key of a value in an object
-static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
+static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
parse_event_t
JSON callback events.
Output (play with this example online): {
"Image": {
@@ -371,7 +371,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- parse(const string_t&, parser_callback_t) for a version that reads from a string
- Since
- version 1.0
-Definition at line 4950 of file json.hpp.
+Definition at line 4977 of file json.hpp.
@@ -381,7 +381,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a75a1754e0d39f33095d3102a8bdb9881.html b/classnlohmann_1_1basic__json_a75a1754e0d39f33095d3102a8bdb9881.html
index 58386ccd7..66f487662 100644
--- a/classnlohmann_1_1basic__json_a75a1754e0d39f33095d3102a8bdb9881.html
+++ b/classnlohmann_1_1basic__json_a75a1754e0d39f33095d3102a8bdb9881.html
@@ -269,9 +269,11 @@ template<class InteratorType , typename std::enable_if<
- Exceptions
-
- | std::domain_error | if called on a null value |
- | std::domain_error | if called on an iterator which does not belong to the current JSON value |
- | std::out_of_range | if called on a primitive type with invalid iterator (i.e., any iterator which is not end()) |
+ | std::domain_error | if called on a null value; example: "cannot use
+erase() with null" |
+ | std::domain_error | if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value" |
+ | std::out_of_range | if called on a primitive type with invalid iterator (i.e., any iterator which is not end()); example: "iterator out
+of range" |
@@ -313,10 +315,10 @@ template<class InteratorType , typename std::enable_if<
29 std::cout << j_string <<
'\n';
a class to store JSON values
-iterator begin()
returns an iterator to the first element
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator begin()
returns an iterator to the first element
+iterator find(typename object_t::key_type key)
find an element in a JSON object
namespace for Niels Lohmann
-InteratorType erase(InteratorType pos)
remove element given an iterator
+InteratorType erase(InteratorType pos)
remove element given an iterator
Output (play with this example online): null
null
null
@@ -331,7 +333,7 @@ null
erase(const size_type) – removes the element from an array at the given index
- Since
- version 1.0
-Definition at line 3232 of file json.hpp.
+Definition at line 3244 of file json.hpp.
@@ -341,7 +343,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a76cfc5062bf6223396ab82c753cd4634.html b/classnlohmann_1_1basic__json_a76cfc5062bf6223396ab82c753cd4634.html
index 04b324675..817947fd3 100644
--- a/classnlohmann_1_1basic__json_a76cfc5062bf6223396ab82c753cd4634.html
+++ b/classnlohmann_1_1basic__json_a76cfc5062bf6223396ab82c753cd4634.html
@@ -282,9 +282,9 @@ template<typename PointerType , typename std::enable_if<
19 std::cout << std::boolalpha << (p5 ==
nullptr) <<
'\n';
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
-ValueType get() const
get a value (explicit)
+ValueType get() const
get a value (explicit)
NumberIntegerType number_integer_t
a type for a number (integer)
NumberFloatType number_float_t
a type for a number (floating-point)
Output (play with this example online): 17 17 17 17
@@ -293,7 +293,7 @@ true
- See also
- get_ptr() for explicit pointer-member access
- Since
- version 1.0
-Definition at line 2489 of file json.hpp.
+Definition at line 2492 of file json.hpp.
@@ -303,7 +303,7 @@ true
diff --git a/classnlohmann_1_1basic__json_a7c08f966200af98db0313a3b517ce0a9.html b/classnlohmann_1_1basic__json_a7c08f966200af98db0313a3b517ce0a9.html
index 3097ac8bc..7858c7964 100644
--- a/classnlohmann_1_1basic__json_a7c08f966200af98db0313a3b517ce0a9.html
+++ b/classnlohmann_1_1basic__json_a7c08f966200af98db0313a3b517ce0a9.html
@@ -279,14 +279,14 @@ Illustration from cppreference.com
17 std::cout << *it <<
'\n';
a class to store JSON values
-reverse_iterator rend()
returns an iterator to the reverse-end
+reverse_iterator rend()
returns an iterator to the reverse-end
namespace for Niels Lohmann
a template for a reverse iterator class
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/rend.cpp -o rend
- Since
- version 1.0
-Definition at line 3711 of file json.hpp.
+Definition at line 3728 of file json.hpp.
@@ -296,7 +296,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_a7c19a5c3be6cc755377ee41eade78baf.html b/classnlohmann_1_1basic__json_a7c19a5c3be6cc755377ee41eade78baf.html
index f9128dabc..136335a06 100644
--- a/classnlohmann_1_1basic__json_a7c19a5c3be6cc755377ee41eade78baf.html
+++ b/classnlohmann_1_1basic__json_a7c19a5c3be6cc755377ee41eade78baf.html
@@ -279,8 +279,8 @@ template<template< typename U, typename V, typename...Args > class Obje
18 std::cout <<
"\"three\" was found: " << (it_three != j_object.
end()) <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator end()
returns an iterator to one past the last element
+iterator find(typename object_t::key_type key)
find an element in a JSON object
namespace for Niels Lohmann
Output (play with this example online): "two" was found: true
value at key "two": 2
@@ -288,7 +288,7 @@ value at key "two": 2
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/find__key_type.cpp -o find__key_type
- Since
- version 1.0
-Definition at line 3499 of file json.hpp.
+Definition at line 3516 of file json.hpp.
@@ -298,7 +298,7 @@ value at key "two": 2
diff --git a/classnlohmann_1_1basic__json_a7d0db3b728d820d4984df78d97d2b104.html b/classnlohmann_1_1basic__json_a7d0db3b728d820d4984df78d97d2b104.html
index 500ccf089..427976238 100644
--- a/classnlohmann_1_1basic__json_a7d0db3b728d820d4984df78d97d2b104.html
+++ b/classnlohmann_1_1basic__json_a7d0db3b728d820d4984df78d97d2b104.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a7d1b990f2c12fecb57db1504fdadd0bb.html b/classnlohmann_1_1basic__json_a7d1b990f2c12fecb57db1504fdadd0bb.html
index 475ef3d01..8771b60da 100644
--- a/classnlohmann_1_1basic__json_a7d1b990f2c12fecb57db1504fdadd0bb.html
+++ b/classnlohmann_1_1basic__json_a7d1b990f2c12fecb57db1504fdadd0bb.html
@@ -260,7 +260,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Returns
- Number of elements removed. If ObjectType is the default
std::map type, the return value will always be 0 (key was not found) or 1 (key was found).
- Exceptions
-
- | std::domain_error | when called on a type other than JSON object |
+ | std::domain_error | when called on a type other than JSON object; example: "cannot use erase() with null" |
@@ -284,7 +284,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-InteratorType erase(InteratorType pos)
remove element given an iterator
+InteratorType erase(InteratorType pos)
remove element given an iterator
Output (play with this example online): {"two":2}
1 0
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/erase__key_type.cpp -o erase__key_type
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
erase(const size_type) – removes the element from an array at the given index
- Since
- version 1.0
-Definition at line 3413 of file json.hpp.
+Definition at line 3428 of file json.hpp.
@@ -305,7 +305,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a7dab69b10b98e7bc694339720e37fb2b.html b/classnlohmann_1_1basic__json_a7dab69b10b98e7bc694339720e37fb2b.html
index ae74997c4..65e264e95 100644
--- a/classnlohmann_1_1basic__json_a7dab69b10b98e7bc694339720e37fb2b.html
+++ b/classnlohmann_1_1basic__json_a7dab69b10b98e7bc694339720e37fb2b.html
@@ -279,8 +279,8 @@ template<template< typename U, typename V, typename...Args > class Obje
18 std::cout <<
"\"three\" was found: " << (it_three != j_object.
end()) <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator end()
returns an iterator to one past the last element
+iterator find(typename object_t::key_type key)
find an element in a JSON object
namespace for Niels Lohmann
Output (play with this example online): "two" was found: true
value at key "two": 2
@@ -288,7 +288,7 @@ value at key "two": 2
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/find__key_type.cpp -o find__key_type
- Since
- version 1.0
-Definition at line 3483 of file json.hpp.
+Definition at line 3500 of file json.hpp.
@@ -298,7 +298,7 @@ value at key "two": 2
diff --git a/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html b/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
index a1c3bf3f7..193769804 100644
--- a/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
+++ b/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
@@ -300,7 +300,7 @@ template<template< typename U, typename V, typename...Args > class Obje
null != nullptr false
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operator__notequal__nullptr_t.cpp -o operator__notequal__nullptr_t
- Since
- version 1.0
-Definition at line 4693 of file json.hpp.
+Definition at line 4720 of file json.hpp.
@@ -310,7 +310,7 @@ null != nullptr false
diff --git a/classnlohmann_1_1basic__json_a80ceaa3bdd346292273b309e08525c1c.html b/classnlohmann_1_1basic__json_a80ceaa3bdd346292273b309e08525c1c.html
index 64da93fb5..07739887e 100644
--- a/classnlohmann_1_1basic__json_a80ceaa3bdd346292273b309e08525c1c.html
+++ b/classnlohmann_1_1basic__json_a80ceaa3bdd346292273b309e08525c1c.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a83cbbfbf5d3ecbad6de8ece0be6b36c4.html b/classnlohmann_1_1basic__json_a83cbbfbf5d3ecbad6de8ece0be6b36c4.html
index b4e130d68..ca61db278 100644
--- a/classnlohmann_1_1basic__json_a83cbbfbf5d3ecbad6de8ece0be6b36c4.html
+++ b/classnlohmann_1_1basic__json_a83cbbfbf5d3ecbad6de8ece0be6b36c4.html
@@ -287,7 +287,7 @@ template<template< typename U, typename V, typename...Args > class Obje
27 std::cout << j_string.
front() <<
'\n';
-reference front()
access the first element
+reference front()
access the first element
a class to store JSON values
object (unordered set of name/value pairs)
namespace for Niels Lohmann
@@ -301,7 +301,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/front.cpp -o front
- Since
- version 1.0
-Definition at line 3133 of file json.hpp.
+Definition at line 3143 of file json.hpp.
@@ -311,7 +311,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html b/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
index 8194d30f1..31f813f94 100644
--- a/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
+++ b/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
@@ -302,7 +302,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__lessequal.cpp -o operator__lessequal
- Since
- version 1.0
-Definition at line 4805 of file json.hpp.
+Definition at line 4832 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a8b526709d395142b68d21abfbfff17c3.html b/classnlohmann_1_1basic__json_a8b526709d395142b68d21abfbfff17c3.html
index d916b2939..175ef282a 100644
--- a/classnlohmann_1_1basic__json_a8b526709d395142b68d21abfbfff17c3.html
+++ b/classnlohmann_1_1basic__json_a8b526709d395142b68d21abfbfff17c3.html
@@ -287,7 +287,7 @@ template<template< typename U, typename V, typename...Args > class Obje
27 std::cout << j_string.
front() <<
'\n';
-reference front()
access the first element
+reference front()
access the first element
a class to store JSON values
object (unordered set of name/value pairs)
namespace for Niels Lohmann
@@ -301,7 +301,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/front.cpp -o front
- Since
- version 1.0
-Definition at line 3141 of file json.hpp.
+Definition at line 3151 of file json.hpp.
@@ -311,7 +311,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a8c40cd9ead4de7c82f28268bdf0ec98a.html b/classnlohmann_1_1basic__json_a8c40cd9ead4de7c82f28268bdf0ec98a.html
index 8f0ef688a..9ec6afb87 100644
--- a/classnlohmann_1_1basic__json_a8c40cd9ead4de7c82f28268bdf0ec98a.html
+++ b/classnlohmann_1_1basic__json_a8c40cd9ead4de7c82f28268bdf0ec98a.html
@@ -303,7 +303,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-void clear() noexcept
clears the contents
+void clear() noexcept
clears the contents
Output (play with this example online): null
false
0
@@ -314,7 +314,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/clear.cpp -o clear
- Since
- version 1.0
-Definition at line 4009 of file json.hpp.
+Definition at line 4029 of file json.hpp.
@@ -324,7 +324,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a8e34088252a3ee6b2377f3a1f26dd1ba.html b/classnlohmann_1_1basic__json_a8e34088252a3ee6b2377f3a1f26dd1ba.html
index d79605e16..7c47e8ece 100644
--- a/classnlohmann_1_1basic__json_a8e34088252a3ee6b2377f3a1f26dd1ba.html
+++ b/classnlohmann_1_1basic__json_a8e34088252a3ee6b2377f3a1f26dd1ba.html
@@ -261,7 +261,8 @@ template<template< typename U, typename V, typename...Args > class Obje
- Returns
- const reference to the element at key key
- Exceptions
-
- | std::domain_error | if JSON is not an object |
+ | std::domain_error | if JSON is not an object; example: "cannot use
+operator[] with null" |
@@ -290,7 +291,7 @@ template<template< typename U, typename V, typename...Args > class Obje
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 2927 of file json.hpp.
+Definition at line 2934 of file json.hpp.
@@ -300,7 +301,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a8e4e11999b4e7faa8f31f21164ebd65a.html b/classnlohmann_1_1basic__json_a8e4e11999b4e7faa8f31f21164ebd65a.html
index 74bc85557..50251ec87 100644
--- a/classnlohmann_1_1basic__json_a8e4e11999b4e7faa8f31f21164ebd65a.html
+++ b/classnlohmann_1_1basic__json_a8e4e11999b4e7faa8f31f21164ebd65a.html
@@ -250,9 +250,10 @@ template<template< typename U, typename V, typename...Args > class Obje
-
This functuion allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.
+
This functuion allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.
+
- Note
- The name of this function is not yet final and may change in the future.
-
Definition at line 3791 of file json.hpp.
+
Definition at line 3811 of file json.hpp.
@@ -262,7 +263,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a8fa74698f4061e18ec664009f3af1ddf.html b/classnlohmann_1_1basic__json_a8fa74698f4061e18ec664009f3af1ddf.html
index 8ada152fb..be233b565 100644
--- a/classnlohmann_1_1basic__json_a8fa74698f4061e18ec664009f3af1ddf.html
+++ b/classnlohmann_1_1basic__json_a8fa74698f4061e18ec664009f3af1ddf.html
@@ -278,9 +278,10 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
| std::domain_error | if called on JSON values other than arrays |
- | std::domain_error | if pos is not an iterator of *this |
- | std::domain_error | if first and last do not belong to the same JSON value |
- | std::domain_error | if first or last are iterators into container for which insert is called |
+ | std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
+ | std::domain_error | if first and last do not belong to the same JSON value; example: "iterators do not fit" |
+ | std::domain_error | if first or last are iterators into container for which insert is called; example: "passed iterators may not
+belong to container" |
@@ -306,16 +307,16 @@ template<template< typename U, typename V, typename...Args > class Obje
18 std::cout << v <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
-iterator begin()
returns an iterator to the first element
+iterator end()
returns an iterator to one past the last element
+iterator begin()
returns an iterator to the first element
namespace for Niels Lohmann
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
Output (play with this example online): "one"
[1,2,3,4,"one","two","three","four"]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert__range.cpp -o insert__range
- Since
- version 1.0
-Definition at line 4309 of file json.hpp.
+Definition at line 4335 of file json.hpp.
@@ -325,7 +326,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a930e14150ffa067bcf56d35cb00271e1.html b/classnlohmann_1_1basic__json_a930e14150ffa067bcf56d35cb00271e1.html
index 948eac007..84f8065ab 100644
--- a/classnlohmann_1_1basic__json_a930e14150ffa067bcf56d35cb00271e1.html
+++ b/classnlohmann_1_1basic__json_a930e14150ffa067bcf56d35cb00271e1.html
@@ -281,7 +281,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a960962c683909619d1d2fbbe856c022e.html b/classnlohmann_1_1basic__json_a960962c683909619d1d2fbbe856c022e.html
index b08a65416..f6d313463 100644
--- a/classnlohmann_1_1basic__json_a960962c683909619d1d2fbbe856c022e.html
+++ b/classnlohmann_1_1basic__json_a960962c683909619d1d2fbbe856c022e.html
@@ -259,7 +259,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | when called on a type other than JSON array or null |
+ | std::domain_error | when called on a type other than JSON array or null; example: "cannot use push_back() with number" |
@@ -289,7 +289,7 @@ template<template< typename U, typename V, typename...Args > class Obje
23 std::cout << null <<
'\n';
a class to store JSON values
-void push_back(basic_json &&val)
add an object to an array
+void push_back(basic_json &&val)
add an object to an array
namespace for Niels Lohmann
Output (play with this example online): [1,2,3,4,5]
null
@@ -298,7 +298,7 @@ null
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back
- Since
- version 1.0
-Definition at line 4133 of file json.hpp.
+Definition at line 4154 of file json.hpp.
@@ -308,7 +308,7 @@ null
diff --git a/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html b/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
index dc0b6ea74..f029ab669 100644
--- a/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
+++ b/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
@@ -300,7 +300,7 @@ template<template< typename U, typename V, typename...Args > class Obje
null == nullptr true
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operator__equal__nullptr_t.cpp -o operator__equal__nullptr_t
- Since
- version 1.0
-Definition at line 4631 of file json.hpp.
+Definition at line 4658 of file json.hpp.
@@ -310,7 +310,7 @@ null == nullptr true
diff --git a/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html b/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
index 499d954a3..a5fe329d2 100644
--- a/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
+++ b/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
@@ -300,7 +300,7 @@ template<template< typename U, typename V, typename...Args > class Obje
null == nullptr true
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operator__equal__nullptr_t.cpp -o operator__equal__nullptr_t
- Since
- version 1.0
-Definition at line 4640 of file json.hpp.
+Definition at line 4667 of file json.hpp.
@@ -310,7 +310,7 @@ null == nullptr true
diff --git a/classnlohmann_1_1basic__json_a9993148cb0473365e52998c7315f9ada.html b/classnlohmann_1_1basic__json_a9993148cb0473365e52998c7315f9ada.html
index 8b5bb8304..a48331468 100644
--- a/classnlohmann_1_1basic__json_a9993148cb0473365e52998c7315f9ada.html
+++ b/classnlohmann_1_1basic__json_a9993148cb0473365e52998c7315f9ada.html
@@ -278,7 +278,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-bool is_number_integer() const noexcept
return whether value is an integer number
+bool is_number_integer() const noexcept
return whether value is an integer number
namespace for Niels Lohmann
Output (play with this example online): false
false
@@ -293,7 +293,7 @@ false
is_number_float() – check if value is a floating-point number
- Since
- version 1.0
-Definition at line 2020 of file json.hpp.
+Definition at line 2023 of file json.hpp.
@@ -303,7 +303,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a9a73d1b71c9e913aa2888d8b40c72ee9.html b/classnlohmann_1_1basic__json_a9a73d1b71c9e913aa2888d8b40c72ee9.html
index e60450797..2da1edaf9 100644
--- a/classnlohmann_1_1basic__json_a9a73d1b71c9e913aa2888d8b40c72ee9.html
+++ b/classnlohmann_1_1basic__json_a9a73d1b71c9e913aa2888d8b40c72ee9.html
@@ -286,7 +286,7 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << array_1 <<
'\n';
16 std::cout << array_5 <<
'\n';
-basic_json<> json
default JSON class
+basic_json<> json
default JSON class
a class to store JSON values
namespace for Niels Lohmann
Output (play with this example online): []
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__size_type_basic_json.cpp -o basic_json__size_type_basic_json
- Since
- version 1.0
-Definition at line 1530 of file json.hpp.
+Definition at line 1531 of file json.hpp.
@@ -305,7 +305,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_a9c26c5d0f4a519c7236149b9aeb3ef9e.html b/classnlohmann_1_1basic__json_a9c26c5d0f4a519c7236149b9aeb3ef9e.html
index bba533b37..1ee408997 100644
--- a/classnlohmann_1_1basic__json_a9c26c5d0f4a519c7236149b9aeb3ef9e.html
+++ b/classnlohmann_1_1basic__json_a9c26c5d0f4a519c7236149b9aeb3ef9e.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-bool is_number_float() const noexcept
return whether value is a floating-point number
+bool is_number_float() const noexcept
return whether value is a floating-point number
Output (play with this example online): false
false
false
@@ -293,7 +293,7 @@ false
is_number_integer() – check if value is an integer number
- Since
- version 1.0
-Definition at line 2043 of file json.hpp.
+Definition at line 2046 of file json.hpp.
@@ -303,7 +303,7 @@ false
diff --git a/classnlohmann_1_1basic__json_a9daafb4c15ed5a008cb825bbd8c29d87.html b/classnlohmann_1_1basic__json_a9daafb4c15ed5a008cb825bbd8c29d87.html
index 3a8bfaadd..02a805b9f 100644
--- a/classnlohmann_1_1basic__json_a9daafb4c15ed5a008cb825bbd8c29d87.html
+++ b/classnlohmann_1_1basic__json_a9daafb4c15ed5a008cb825bbd8c29d87.html
@@ -264,7 +264,8 @@ template<typename T , std::size_t n>
- Returns
- const reference to the element at key key
- Exceptions
-
- | std::domain_error | if JSON is not an object |
+ | std::domain_error | if JSON is not an object; example: "cannot use
+operator[] with null" |
@@ -293,7 +294,7 @@ template<typename T , std::size_t n>
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 3018 of file json.hpp.
+Definition at line 3027 of file json.hpp.
@@ -303,7 +304,7 @@ template<typename T , std::size_t n>
diff --git a/classnlohmann_1_1basic__json_a9f17a0690155e3a5603246ccec81499e.html b/classnlohmann_1_1basic__json_a9f17a0690155e3a5603246ccec81499e.html
index 09564d8c5..e5abcfb05 100644
--- a/classnlohmann_1_1basic__json_a9f17a0690155e3a5603246ccec81499e.html
+++ b/classnlohmann_1_1basic__json_a9f17a0690155e3a5603246ccec81499e.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-bool is_primitive() const noexcept
return whether type is primitive
+bool is_primitive() const noexcept
return whether type is primitive
Output (play with this example online): true
true
true
@@ -290,7 +290,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_primitive.cpp -o is_primitive
- Since
- version 1.0
-Definition at line 1915 of file json.hpp.
+Definition at line 1918 of file json.hpp.
@@ -300,7 +300,7 @@ true
diff --git a/classnlohmann_1_1basic__json_aa0422e861b4cbd7cdcaad7a11a1304a9.html b/classnlohmann_1_1basic__json_aa0422e861b4cbd7cdcaad7a11a1304a9.html
index 9f1b2f2a9..973aa99e9 100644
--- a/classnlohmann_1_1basic__json_aa0422e861b4cbd7cdcaad7a11a1304a9.html
+++ b/classnlohmann_1_1basic__json_aa0422e861b4cbd7cdcaad7a11a1304a9.html
@@ -325,13 +325,13 @@ template<template< typename U, typename V, typename...Args > class Obje
54 std::cout << std::setw(4) << j_filtered <<
'\n';
-basic_json<> json
default JSON class
+basic_json<> json
default JSON class
a class to store JSON values
std::function< bool(int depth, parse_event_t event, basic_json &parsed)> parser_callback_t
per-element parser callback type
namespace for Niels Lohmann
-void clear() noexcept
clears the contents
+void clear() noexcept
clears the contents
the parser read a key of a value in an object
-static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
+static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
parse_event_t
JSON callback events.
Output (play with this example online): {
"Image": {
@@ -371,7 +371,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- parse(const string_t&, parser_callback_t) for a version that reads from a string
- Since
- version 1.0
-Definition at line 4958 of file json.hpp.
+Definition at line 4985 of file json.hpp.
@@ -381,7 +381,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aa1f3b3f1dca79392d6727b81f9668c6c.html b/classnlohmann_1_1basic__json_aa1f3b3f1dca79392d6727b81f9668c6c.html
index bd865824f..700c50d14 100644
--- a/classnlohmann_1_1basic__json_aa1f3b3f1dca79392d6727b81f9668c6c.html
+++ b/classnlohmann_1_1basic__json_aa1f3b3f1dca79392d6727b81f9668c6c.html
@@ -291,7 +291,7 @@ template<template< typename U, typename V, typename...Args > class Obje
object (unordered set of name/value pairs)
namespace for Niels Lohmann
array (ordered collection of values)
-reference back()
access the last element
+reference back()
access the last element
Output (play with this example online): true
17
23.42
@@ -301,7 +301,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/back.cpp -o back
- Since
- version 1.0
-Definition at line 3167 of file json.hpp.
+Definition at line 3177 of file json.hpp.
@@ -311,7 +311,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aa5413178b8041f7ac685dec4b040dd2c.html b/classnlohmann_1_1basic__json_aa5413178b8041f7ac685dec4b040dd2c.html
index d47c08260..aa5276b8d 100644
--- a/classnlohmann_1_1basic__json_aa5413178b8041f7ac685dec4b040dd2c.html
+++ b/classnlohmann_1_1basic__json_aa5413178b8041f7ac685dec4b040dd2c.html
@@ -280,14 +280,14 @@ Illustration from cppreference.com
17 std::cout << *it <<
'\n';
a class to store JSON values
-const_iterator cend() const
returns a const iterator to one past the last element
+const_iterator cend() const
returns a const iterator to one past the last element
namespace for Niels Lohmann
-a const random access iterator for the basic_json class
+a const random access iterator for the basic_json class
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/cend.cpp -o cend
- Since
- version 1.0
-Definition at line 3632 of file json.hpp.
+Definition at line 3649 of file json.hpp.
@@ -297,7 +297,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_aa6a24b176f9599a21d662cc5f8e1ca76.html b/classnlohmann_1_1basic__json_aa6a24b176f9599a21d662cc5f8e1ca76.html
index 2038f902d..2fc9f5905 100644
--- a/classnlohmann_1_1basic__json_aa6a24b176f9599a21d662cc5f8e1ca76.html
+++ b/classnlohmann_1_1basic__json_aa6a24b176f9599a21d662cc5f8e1ca76.html
@@ -258,7 +258,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Since
- version 1.0
-Definition at line 1794 of file json.hpp.
+Definition at line 1797 of file json.hpp.
@@ -268,7 +268,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aa6c32f669a2e523666072003d0ea46f4.html b/classnlohmann_1_1basic__json_aa6c32f669a2e523666072003d0ea46f4.html
index 41537ce2d..44e3198eb 100644
--- a/classnlohmann_1_1basic__json_aa6c32f669a2e523666072003d0ea46f4.html
+++ b/classnlohmann_1_1basic__json_aa6c32f669a2e523666072003d0ea46f4.html
@@ -333,7 +333,7 @@ template<class CompatibleObjectType , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_aa71e977d31f470689883ac60d16ea4ac.html b/classnlohmann_1_1basic__json_aa71e977d31f470689883ac60d16ea4ac.html
index efe941657..d5668da66 100644
--- a/classnlohmann_1_1basic__json_aa71e977d31f470689883ac60d16ea4ac.html
+++ b/classnlohmann_1_1basic__json_aa71e977d31f470689883ac60d16ea4ac.html
@@ -285,15 +285,15 @@ template<template< typename U, typename V, typename...Args > class Obje
ArrayType< basic_json, AllocatorType< basic_json >> array_t
a type for an array
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
-void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
+void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
Output (play with this example online): value = {"array":["Snap","Crackle","Pop"]}
array = [1,2,3,4]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/swap__array_t.cpp -o swap__array_t
- Since
- version 1.0
-Definition at line 4430 of file json.hpp.
+Definition at line 4457 of file json.hpp.
@@ -303,7 +303,7 @@ array = [1,2,3,4]
diff --git a/classnlohmann_1_1basic__json_aabe4661644ea549089f0886c2551d2ac.html b/classnlohmann_1_1basic__json_aabe4661644ea549089f0886c2551d2ac.html
index 6e84a8206..10aad8a11 100644
--- a/classnlohmann_1_1basic__json_aabe4661644ea549089f0886c2551d2ac.html
+++ b/classnlohmann_1_1basic__json_aabe4661644ea549089f0886c2551d2ac.html
@@ -283,7 +283,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aac185a137428a7337aa620de07bfbbd7.html b/classnlohmann_1_1basic__json_aac185a137428a7337aa620de07bfbbd7.html
index 7fde947cd..3e8ef9abf 100644
--- a/classnlohmann_1_1basic__json_aac185a137428a7337aa620de07bfbbd7.html
+++ b/classnlohmann_1_1basic__json_aac185a137428a7337aa620de07bfbbd7.html
@@ -266,7 +266,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Since
- version 1.0
-Definition at line 4527 of file json.hpp.
+Definition at line 4554 of file json.hpp.
@@ -276,7 +276,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html b/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
index a270e3e53..caba00416 100644
--- a/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
+++ b/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
@@ -306,7 +306,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__less.cpp -o operator__less
- Since
- version 1.0
-Definition at line 4722 of file json.hpp.
+Definition at line 4749 of file json.hpp.
@@ -316,7 +316,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aacf6c869f6a9c66ac1bc99e93f310044.html b/classnlohmann_1_1basic__json_aacf6c869f6a9c66ac1bc99e93f310044.html
index fc2f43896..94a9f6f72 100644
--- a/classnlohmann_1_1basic__json_aacf6c869f6a9c66ac1bc99e93f310044.html
+++ b/classnlohmann_1_1basic__json_aacf6c869f6a9c66ac1bc99e93f310044.html
@@ -271,7 +271,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html b/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
index 80fcddf82..1a04ec2d4 100644
--- a/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
+++ b/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
@@ -318,7 +318,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- parse(std::istream&, parser_callback_t) for a variant with a parser callback function to filter values while parsing
- Since
- version 1.0
-Definition at line 4996 of file json.hpp.
+Definition at line 5023 of file json.hpp.
@@ -328,7 +328,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aafa839f2a74dc1b5060314b3423143b8.html b/classnlohmann_1_1basic__json_aafa839f2a74dc1b5060314b3423143b8.html
index 15cdb50fa..71be563b7 100644
--- a/classnlohmann_1_1basic__json_aafa839f2a74dc1b5060314b3423143b8.html
+++ b/classnlohmann_1_1basic__json_aafa839f2a74dc1b5060314b3423143b8.html
@@ -257,7 +257,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ab14e3503305622fb5ab01a7f490916e8.html b/classnlohmann_1_1basic__json_ab14e3503305622fb5ab01a7f490916e8.html
index 45f1b940c..46556631f 100644
--- a/classnlohmann_1_1basic__json_ab14e3503305622fb5ab01a7f490916e8.html
+++ b/classnlohmann_1_1basic__json_ab14e3503305622fb5ab01a7f490916e8.html
@@ -271,7 +271,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
| std::domain_error | if called on JSON values other than arrays |
- | std::domain_error | if pos is not an iterator of *this |
+ | std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
@@ -294,15 +294,15 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << v <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
+iterator end()
returns an iterator to one past the last element
namespace for Niels Lohmann
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
Output (play with this example online): 7
[1,2,3,4,7,8,9]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert__ilist.cpp -o insert__ilist
- Since
- version 1.0
-Definition at line 4363 of file json.hpp.
+Definition at line 4390 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ab2162bc76e10d8736cab9b2039956054.html b/classnlohmann_1_1basic__json_ab2162bc76e10d8736cab9b2039956054.html
index 15b656215..20c4fe9df 100644
--- a/classnlohmann_1_1basic__json_ab2162bc76e10d8736cab9b2039956054.html
+++ b/classnlohmann_1_1basic__json_ab2162bc76e10d8736cab9b2039956054.html
@@ -279,14 +279,14 @@ Illustration from cppreference.com
17 std::cout << *it <<
'\n';
a class to store JSON values
-a mutable random access iterator for the basic_json class
-iterator end()
returns an iterator to one past the last element
+a mutable random access iterator for the basic_json class
+iterator end()
returns an iterator to one past the last element
namespace for Niels Lohmann
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/end.cpp -o end
- Since
- version 1.0
-Definition at line 3622 of file json.hpp.
+Definition at line 3639 of file json.hpp.
@@ -296,7 +296,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_ab74b2398f29acc6ffbf48f1b8974a848.html b/classnlohmann_1_1basic__json_ab74b2398f29acc6ffbf48f1b8974a848.html
index 7d20a25e5..52565e7c7 100644
--- a/classnlohmann_1_1basic__json_ab74b2398f29acc6ffbf48f1b8974a848.html
+++ b/classnlohmann_1_1basic__json_ab74b2398f29acc6ffbf48f1b8974a848.html
@@ -316,7 +316,7 @@ template<typename CompatibleNumberIntegerType , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_ab7d60fb6cb8e8f5740e588f9dc953819.html b/classnlohmann_1_1basic__json_ab7d60fb6cb8e8f5740e588f9dc953819.html
index bb6b18ef8..4f4ea5191 100644
--- a/classnlohmann_1_1basic__json_ab7d60fb6cb8e8f5740e588f9dc953819.html
+++ b/classnlohmann_1_1basic__json_ab7d60fb6cb8e8f5740e588f9dc953819.html
@@ -355,7 +355,7 @@ template<class CompatibleArrayType , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_ab9a20bd1d391e9cb968db50c246f728d.html b/classnlohmann_1_1basic__json_ab9a20bd1d391e9cb968db50c246f728d.html
index d38b94acd..f763aea6c 100644
--- a/classnlohmann_1_1basic__json_ab9a20bd1d391e9cb968db50c246f728d.html
+++ b/classnlohmann_1_1basic__json_ab9a20bd1d391e9cb968db50c246f728d.html
@@ -302,7 +302,7 @@ template<template< typename U, typename V, typename...Args > class Obje
27 std::cout << j_string.
size() <<
'\n';
a class to store JSON values
-size_type size() const noexcept
returns the number of elements
+size_type size() const noexcept
returns the number of elements
object (unordered set of name/value pairs)
namespace for Niels Lohmann
array (ordered collection of values)
@@ -318,7 +318,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/size.cpp -o size
- Since
- version 1.0
-Definition at line 3892 of file json.hpp.
+Definition at line 3912 of file json.hpp.
@@ -328,7 +328,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ab9da2afc6f77295f25252725fde142a6.html b/classnlohmann_1_1basic__json_ab9da2afc6f77295f25252725fde142a6.html
index f990b49c3..8680e1fdb 100644
--- a/classnlohmann_1_1basic__json_ab9da2afc6f77295f25252725fde142a6.html
+++ b/classnlohmann_1_1basic__json_ab9da2afc6f77295f25252725fde142a6.html
@@ -291,7 +291,7 @@ template<template< typename U, typename V, typename...Args > class Obje
object (unordered set of name/value pairs)
namespace for Niels Lohmann
array (ordered collection of values)
-reference back()
access the last element
+reference back()
access the last element
Output (play with this example online): true
17
23.42
@@ -301,7 +301,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/back.cpp -o back
- Since
- version 1.0
-Definition at line 3177 of file json.hpp.
+Definition at line 3187 of file json.hpp.
@@ -311,7 +311,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_abe8f3224ca4041908ddb466cb9caecf1.html b/classnlohmann_1_1basic__json_abe8f3224ca4041908ddb466cb9caecf1.html
index fe345928a..3f93ce642 100644
--- a/classnlohmann_1_1basic__json_abe8f3224ca4041908ddb466cb9caecf1.html
+++ b/classnlohmann_1_1basic__json_abe8f3224ca4041908ddb466cb9caecf1.html
@@ -299,7 +299,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-size_type max_size() const noexcept
returns the maximum possible number of elements
+size_type max_size() const noexcept
returns the maximum possible number of elements
Output (play with this example online): 0
1
1
@@ -310,7 +310,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/max_size.cpp -o max_size
- Since
- version 1.0
-Definition at line 3952 of file json.hpp.
+Definition at line 3972 of file json.hpp.
@@ -320,7 +320,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ac160789f17d206a5404981ca0957e303.html b/classnlohmann_1_1basic__json_ac160789f17d206a5404981ca0957e303.html
index 42fe74bb7..50dc66cd3 100644
--- a/classnlohmann_1_1basic__json_ac160789f17d206a5404981ca0957e303.html
+++ b/classnlohmann_1_1basic__json_ac160789f17d206a5404981ca0957e303.html
@@ -293,7 +293,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ac4011bd0781e51afe4994d2b09fd27e9.html b/classnlohmann_1_1basic__json_ac4011bd0781e51afe4994d2b09fd27e9.html
index 5b7c9831f..e259a21b6 100644
--- a/classnlohmann_1_1basic__json_ac4011bd0781e51afe4994d2b09fd27e9.html
+++ b/classnlohmann_1_1basic__json_ac4011bd0781e51afe4994d2b09fd27e9.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ac8163abe518595f19dbee68db1caaaf7.html b/classnlohmann_1_1basic__json_ac8163abe518595f19dbee68db1caaaf7.html
index c6a3abc7a..3108e4018 100644
--- a/classnlohmann_1_1basic__json_ac8163abe518595f19dbee68db1caaaf7.html
+++ b/classnlohmann_1_1basic__json_ac8163abe518595f19dbee68db1caaaf7.html
@@ -278,7 +278,7 @@ template<template< typename U, typename V, typename...Args > class Obje
24 std::cout << j_string.
is_object() <<
'\n';
a class to store JSON values
-bool is_object() const noexcept
return whether value is an object
+bool is_object() const noexcept
return whether value is an object
namespace for Niels Lohmann
Output (play with this example online): false
false
@@ -290,7 +290,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_object.cpp -o is_object
- Since
- version 1.0
-Definition at line 2062 of file json.hpp.
+Definition at line 2065 of file json.hpp.
@@ -300,7 +300,7 @@ false
diff --git a/classnlohmann_1_1basic__json_ac82abedf356d252e0589850c3d8b35ba.html b/classnlohmann_1_1basic__json_ac82abedf356d252e0589850c3d8b35ba.html
index 6289d7545..928bce053 100644
--- a/classnlohmann_1_1basic__json_ac82abedf356d252e0589850c3d8b35ba.html
+++ b/classnlohmann_1_1basic__json_ac82abedf356d252e0589850c3d8b35ba.html
@@ -275,7 +275,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ac943391891fcde0a71a15ce990e0f7f4.html b/classnlohmann_1_1basic__json_ac943391891fcde0a71a15ce990e0f7f4.html
index d34bfe635..23139a59f 100644
--- a/classnlohmann_1_1basic__json_ac943391891fcde0a71a15ce990e0f7f4.html
+++ b/classnlohmann_1_1basic__json_ac943391891fcde0a71a15ce990e0f7f4.html
@@ -292,7 +292,7 @@ true
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__basic_json.cpp -o basic_json__basic_json
- Since
- version 1.0
-Definition at line 1672 of file json.hpp.
+Definition at line 1675 of file json.hpp.
@@ -302,7 +302,7 @@ true
diff --git a/classnlohmann_1_1basic__json_acd08f9179c8c1e9f2cd7575a724ce27e.html b/classnlohmann_1_1basic__json_acd08f9179c8c1e9f2cd7575a724ce27e.html
index 737c6a243..9ee572b38 100644
--- a/classnlohmann_1_1basic__json_acd08f9179c8c1e9f2cd7575a724ce27e.html
+++ b/classnlohmann_1_1basic__json_acd08f9179c8c1e9f2cd7575a724ce27e.html
@@ -301,7 +301,7 @@ template<typename T , typename std::enable_if<
diff --git a/classnlohmann_1_1basic__json_acdf4445333649ec94198f09a62144884.html b/classnlohmann_1_1basic__json_acdf4445333649ec94198f09a62144884.html
index de16d51be..068eb7d28 100644
--- a/classnlohmann_1_1basic__json_acdf4445333649ec94198f09a62144884.html
+++ b/classnlohmann_1_1basic__json_acdf4445333649ec94198f09a62144884.html
@@ -276,14 +276,14 @@ Illustration from cppreference.com
14 std::cout << *it <<
'\n';
a class to store JSON values
-a mutable random access iterator for the basic_json class
-iterator begin()
returns an iterator to the first element
+a mutable random access iterator for the basic_json class
+iterator begin()
returns an iterator to the first element
namespace for Niels Lohmann
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/begin.cpp -o begin
- Since
- version 1.0
-Definition at line 3563 of file json.hpp.
+Definition at line 3580 of file json.hpp.
@@ -293,7 +293,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_ace8338e57fdb11e1955c2a0c2d782069.html b/classnlohmann_1_1basic__json_ace8338e57fdb11e1955c2a0c2d782069.html
index 74c5c98b3..6668de07f 100644
--- a/classnlohmann_1_1basic__json_ace8338e57fdb11e1955c2a0c2d782069.html
+++ b/classnlohmann_1_1basic__json_ace8338e57fdb11e1955c2a0c2d782069.html
@@ -270,7 +270,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ad1f617d29e8923dd40c89153f792b1bc.html b/classnlohmann_1_1basic__json_ad1f617d29e8923dd40c89153f792b1bc.html
index f0a1b7159..d9fbb870c 100644
--- a/classnlohmann_1_1basic__json_ad1f617d29e8923dd40c89153f792b1bc.html
+++ b/classnlohmann_1_1basic__json_ad1f617d29e8923dd40c89153f792b1bc.html
@@ -283,7 +283,7 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << j_empty_init_list <<
'\n';
16 std::cout << j_list_of_pairs <<
'\n';
-static basic_json object(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an object from an initializer list
+static basic_json object(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an object from an initializer list
a class to store JSON values
namespace for Niels Lohmann
Output (play with this example online): {}
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
array(std::initializer_list<basic_json>) – create a JSON array value from an initializer list
- Since
- version 1.0
-Definition at line 1506 of file json.hpp.
+Definition at line 1507 of file json.hpp.
@@ -305,7 +305,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ad2c4513cef5d8db760c4b2d871eea42c.html b/classnlohmann_1_1basic__json_ad2c4513cef5d8db760c4b2d871eea42c.html
index f1e482eae..bc1e0f1a1 100644
--- a/classnlohmann_1_1basic__json_ad2c4513cef5d8db760c4b2d871eea42c.html
+++ b/classnlohmann_1_1basic__json_ad2c4513cef5d8db760c4b2d871eea42c.html
@@ -260,7 +260,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ad497cbc4f80c8d79662ee6e19bf145dd.html b/classnlohmann_1_1basic__json_ad497cbc4f80c8d79662ee6e19bf145dd.html
index 70ee04161..a7e53a5c9 100644
--- a/classnlohmann_1_1basic__json_ad497cbc4f80c8d79662ee6e19bf145dd.html
+++ b/classnlohmann_1_1basic__json_ad497cbc4f80c8d79662ee6e19bf145dd.html
@@ -280,9 +280,10 @@ template<class InteratorType , typename std::enable_if<
- Exceptions
-
- | std::domain_error | if called on a null value |
- | std::domain_error | if called on iterators which does not belong to the current JSON value |
- | std::out_of_range | if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()) |
+ | std::domain_error | if called on a null value; example: "cannot use
+erase() with null" |
+ | std::domain_error | if called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value" |
+ | std::out_of_range | if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range" |
@@ -324,11 +325,11 @@ template<class InteratorType , typename std::enable_if<
29 std::cout << j_string <<
'\n';
a class to store JSON values
-iterator end()
returns an iterator to one past the last element
-iterator begin()
returns an iterator to the first element
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator end()
returns an iterator to one past the last element
+iterator begin()
returns an iterator to the first element
+iterator find(typename object_t::key_type key)
find an element in a JSON object
namespace for Niels Lohmann
-InteratorType erase(InteratorType pos)
remove element given an iterator
+InteratorType erase(InteratorType pos)
remove element given an iterator
Output (play with this example online): null
null
null
@@ -343,7 +344,7 @@ null
erase(const size_type) – removes the element from an array at the given index
- Since
- version 1.0
-Definition at line 3333 of file json.hpp.
+Definition at line 3347 of file json.hpp.
@@ -353,7 +354,7 @@ null
diff --git a/classnlohmann_1_1basic__json_ad6734c2b91b1b77aa2b43b65c3619c05.html b/classnlohmann_1_1basic__json_ad6734c2b91b1b77aa2b43b65c3619c05.html
index 16ba823ba..c8876018e 100644
--- a/classnlohmann_1_1basic__json_ad6734c2b91b1b77aa2b43b65c3619c05.html
+++ b/classnlohmann_1_1basic__json_ad6734c2b91b1b77aa2b43b65c3619c05.html
@@ -310,7 +310,7 @@ null
diff --git a/classnlohmann_1_1basic__json_ad8e0c5d04f016d1b3ac7369e5c73bedf.html b/classnlohmann_1_1basic__json_ad8e0c5d04f016d1b3ac7369e5c73bedf.html
index 95ae9ff35..0a0d950ae 100644
--- a/classnlohmann_1_1basic__json_ad8e0c5d04f016d1b3ac7369e5c73bedf.html
+++ b/classnlohmann_1_1basic__json_ad8e0c5d04f016d1b3ac7369e5c73bedf.html
@@ -277,14 +277,14 @@ Illustration from cppreference.com
14 std::cout << *it <<
'\n';
a class to store JSON values
-const_iterator cbegin() const
returns a const iterator to the first element
+const_iterator cbegin() const
returns a const iterator to the first element
namespace for Niels Lohmann
-a const random access iterator for the basic_json class
+a const random access iterator for the basic_json class
Output (play with this example online): 1
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/cbegin.cpp -o cbegin
- Since
- version 1.0
-Definition at line 3597 of file json.hpp.
+Definition at line 3614 of file json.hpp.
@@ -294,7 +294,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_ada8e01109a60088e4db2a670d4903b54.html b/classnlohmann_1_1basic__json_ada8e01109a60088e4db2a670d4903b54.html
index 39c2c4e11..8116ca82e 100644
--- a/classnlohmann_1_1basic__json_ada8e01109a60088e4db2a670d4903b54.html
+++ b/classnlohmann_1_1basic__json_ada8e01109a60088e4db2a670d4903b54.html
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
namespace for Niels Lohmann
Output (play with this example online): "third"
["first","second","third","fourth"]
@@ -303,7 +303,7 @@ out of range: array index 5 is out of range
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/at__size_type.cpp -o at__size_type
- Since
- version 1.0
-Definition at line 2617 of file json.hpp.
+Definition at line 2620 of file json.hpp.
@@ -313,7 +313,7 @@ out of range: array index 5 is out of range
diff --git a/classnlohmann_1_1basic__json_adbd4c16c9ac641b2a4736bc2c6787d83.html b/classnlohmann_1_1basic__json_adbd4c16c9ac641b2a4736bc2c6787d83.html
index 7eedebd0a..149bd2b08 100644
--- a/classnlohmann_1_1basic__json_adbd4c16c9ac641b2a4736bc2c6787d83.html
+++ b/classnlohmann_1_1basic__json_adbd4c16c9ac641b2a4736bc2c6787d83.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ade7bd6e0fe221fec9d3fa9b430f5ce76.html b/classnlohmann_1_1basic__json_ade7bd6e0fe221fec9d3fa9b430f5ce76.html
index 07b9a102e..03c960230 100644
--- a/classnlohmann_1_1basic__json_ade7bd6e0fe221fec9d3fa9b430f5ce76.html
+++ b/classnlohmann_1_1basic__json_ade7bd6e0fe221fec9d3fa9b430f5ce76.html
@@ -281,7 +281,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-string_t dump(const int indent=-1) const
serialization
+string_t dump(const int indent=-1) const
serialization
Output (play with this example online): {"one":1,"two":2}
{"one":1,"two":2}
@@ -320,7 +320,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- https://docs.python.org/2/library/json.html#json.dump
- Since
- version 1.0
-Definition at line 1863 of file json.hpp.
+Definition at line 1866 of file json.hpp.
@@ -330,7 +330,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_adeaef2ab021997a11a826c378c2365e1.html b/classnlohmann_1_1basic__json_adeaef2ab021997a11a826c378c2365e1.html
index 9d6b744de..c5101bd5e 100644
--- a/classnlohmann_1_1basic__json_adeaef2ab021997a11a826c378c2365e1.html
+++ b/classnlohmann_1_1basic__json_adeaef2ab021997a11a826c378c2365e1.html
@@ -289,7 +289,7 @@ false
diff --git a/classnlohmann_1_1basic__json_adf5dea6fa9d7075ff89ca0796ab47a7e.html b/classnlohmann_1_1basic__json_adf5dea6fa9d7075ff89ca0796ab47a7e.html
index 2f293792e..6558984ee 100644
--- a/classnlohmann_1_1basic__json_adf5dea6fa9d7075ff89ca0796ab47a7e.html
+++ b/classnlohmann_1_1basic__json_adf5dea6fa9d7075ff89ca0796ab47a7e.html
@@ -286,7 +286,7 @@ template<template< typename U, typename V, typename...Args > class Obje
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/basic_json__copyassignment.cpp -o basic_json__copyassignment
- Since
- version 1.0
-Definition at line 1768 of file json.hpp.
+Definition at line 1771 of file json.hpp.
@@ -296,7 +296,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html b/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
index 28d9cf90c..62cf563e9 100644
--- a/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
+++ b/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
@@ -300,7 +300,7 @@ template<template< typename U, typename V, typename...Args > class Obje
null != nullptr false
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operator__notequal__nullptr_t.cpp -o operator__notequal__nullptr_t
- Since
- version 1.0
-Definition at line 4684 of file json.hpp.
+Definition at line 4711 of file json.hpp.
@@ -310,7 +310,7 @@ null != nullptr false
diff --git a/classnlohmann_1_1basic__json_ae50f22a1c646b8627e88f1313cceffd4.html b/classnlohmann_1_1basic__json_ae50f22a1c646b8627e88f1313cceffd4.html
index f7ae4f5c4..3942f033e 100644
--- a/classnlohmann_1_1basic__json_ae50f22a1c646b8627e88f1313cceffd4.html
+++ b/classnlohmann_1_1basic__json_ae50f22a1c646b8627e88f1313cceffd4.html
@@ -282,9 +282,9 @@ template<typename PointerType , typename std::enable_if<
19 std::cout << std::boolalpha << (p5 ==
nullptr) <<
'\n';
a class to store JSON values
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
namespace for Niels Lohmann
-ValueType get() const
get a value (explicit)
+ValueType get() const
get a value (explicit)
NumberIntegerType number_integer_t
a type for a number (integer)
NumberFloatType number_float_t
a type for a number (floating-point)
Output (play with this example online): 17 17 17 17
@@ -293,7 +293,7 @@ true
- See also
- get_ptr() for explicit pointer-member access
- Since
- version 1.0
-Definition at line 2475 of file json.hpp.
+Definition at line 2478 of file json.hpp.
@@ -303,7 +303,7 @@ true
diff --git a/classnlohmann_1_1basic__json_ae874cfc1746b560c53a03bcf5b7bbeed.html b/classnlohmann_1_1basic__json_ae874cfc1746b560c53a03bcf5b7bbeed.html
index 6c8a216b9..761523f23 100644
--- a/classnlohmann_1_1basic__json_ae874cfc1746b560c53a03bcf5b7bbeed.html
+++ b/classnlohmann_1_1basic__json_ae874cfc1746b560c53a03bcf5b7bbeed.html
@@ -278,7 +278,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-bool is_structured() const noexcept
return whether type is structured
+bool is_structured() const noexcept
return whether type is structured
namespace for Niels Lohmann
Output (play with this example online): false
false
@@ -290,7 +290,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_structured.cpp -o is_structured
- Since
- version 1.0
-Definition at line 1935 of file json.hpp.
+Definition at line 1938 of file json.hpp.
@@ -300,7 +300,7 @@ false
diff --git a/classnlohmann_1_1basic__json_ae928414b2805cf6ef56b4e4f8d235416.html b/classnlohmann_1_1basic__json_ae928414b2805cf6ef56b4e4f8d235416.html
index 289a102ce..d1bed5796 100644
--- a/classnlohmann_1_1basic__json_ae928414b2805cf6ef56b4e4f8d235416.html
+++ b/classnlohmann_1_1basic__json_ae928414b2805cf6ef56b4e4f8d235416.html
@@ -249,7 +249,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_ae960d2d6bc7b94fe39cc5e9f106edfa9.html b/classnlohmann_1_1basic__json_ae960d2d6bc7b94fe39cc5e9f106edfa9.html
index ff92688e2..5a3d2343e 100644
--- a/classnlohmann_1_1basic__json_ae960d2d6bc7b94fe39cc5e9f106edfa9.html
+++ b/classnlohmann_1_1basic__json_ae960d2d6bc7b94fe39cc5e9f106edfa9.html
@@ -260,7 +260,8 @@ template<template< typename U, typename V, typename...Args > class Obje
- Returns
- const reference to the element at index idx
- Exceptions
-
- | std::domain_error | if JSON is not an array |
+ | std::domain_error | if JSON is not an array; example: "cannot use
+operator[] with null" |
@@ -278,13 +279,13 @@ template<template< typename U, typename V, typename...Args > class Obje
11 std::cout << array.
at(2) <<
'\n';
a class to store JSON values
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
namespace for Niels Lohmann
Output (play with this example online): "third"
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operatorarray__size_type_const.cpp -o operatorarray__size_type_const
- Since
- version 1.0
-Definition at line 2842 of file json.hpp.
+Definition at line 2847 of file json.hpp.
@@ -294,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html b/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
index c91d1a43a..c152d6ba8 100644
--- a/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
+++ b/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
@@ -279,7 +279,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_af073eec08d2e68924098aef09e9a10ba.html b/classnlohmann_1_1basic__json_af073eec08d2e68924098aef09e9a10ba.html
index 8593fac92..5ef5ca952 100644
--- a/classnlohmann_1_1basic__json_af073eec08d2e68924098aef09e9a10ba.html
+++ b/classnlohmann_1_1basic__json_af073eec08d2e68924098aef09e9a10ba.html
@@ -277,13 +277,13 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
namespace for Niels Lohmann
-void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
+void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
Output (play with this example online): j1 = {"e":2.71828182845905,"pi":3.14159265358979}
j2 = [1,2,3,4,5]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/swap__reference.cpp -o swap__reference
- Since
- version 1.0
-Definition at line 4400 of file json.hpp.
+Definition at line 4427 of file json.hpp.
@@ -293,7 +293,7 @@ j2 = [1,2,3,4,5]
diff --git a/classnlohmann_1_1basic__json_af0ebd1757acb971a6504b4acabf88584.html b/classnlohmann_1_1basic__json_af0ebd1757acb971a6504b4acabf88584.html
index 668bd1c7b..abec97ad2 100644
--- a/classnlohmann_1_1basic__json_af0ebd1757acb971a6504b4acabf88584.html
+++ b/classnlohmann_1_1basic__json_af0ebd1757acb971a6504b4acabf88584.html
@@ -277,13 +277,13 @@ Illustration from cppreference.com
a class to store JSON values
namespace for Niels Lohmann
-reverse_iterator rbegin()
returns an iterator to the reverse-beginning
+reverse_iterator rbegin()
returns an iterator to the reverse-beginning
a template for a reverse iterator class
Output (play with this example online): 5
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/rbegin.cpp -o rbegin
- Since
- version 1.0
-Definition at line 3680 of file json.hpp.
+Definition at line 3697 of file json.hpp.
@@ -293,7 +293,7 @@ Illustration from cppreference.com
diff --git a/classnlohmann_1_1basic__json_af127fb69c580c17821da5f5be57e3585.html b/classnlohmann_1_1basic__json_af127fb69c580c17821da5f5be57e3585.html
index cade23b2b..ce198f61d 100644
--- a/classnlohmann_1_1basic__json_af127fb69c580c17821da5f5be57e3585.html
+++ b/classnlohmann_1_1basic__json_af127fb69c580c17821da5f5be57e3585.html
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_af1e3f9e079136abca2530c8191c56292.html b/classnlohmann_1_1basic__json_af1e3f9e079136abca2530c8191c56292.html
index c8782a70b..c76486314 100644
--- a/classnlohmann_1_1basic__json_af1e3f9e079136abca2530c8191c56292.html
+++ b/classnlohmann_1_1basic__json_af1e3f9e079136abca2530c8191c56292.html
@@ -294,7 +294,8 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
- | std::domain_error | if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string |
+ | std::domain_error | if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string; example: "cannot create object from
+initializer list" |
@@ -319,7 +320,7 @@ template<template< typename U, typename V, typename...Args > class Obje
18 std::cout << j_nested_object <<
'\n';
19 std::cout << j_nested_array <<
'\n';
-basic_json<> json
default JSON class
+basic_json<> json
default JSON class
a class to store JSON values
namespace for Niels Lohmann
Output (play with this example online): {}
@@ -333,7 +334,7 @@ template<template< typename U, typename V, typename...Args > class Obje
object(std::initializer_list<basic_json>) – create a JSON object value from an initializer list
- Since
- version 1.0
-Definition at line 1376 of file json.hpp.
+Definition at line 1377 of file json.hpp.
@@ -343,7 +344,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_af2730bc8ffa6b28916875c13ee7b83f5.html b/classnlohmann_1_1basic__json_af2730bc8ffa6b28916875c13ee7b83f5.html
index 2fcb3bb23..c3a1ec500 100644
--- a/classnlohmann_1_1basic__json_af2730bc8ffa6b28916875c13ee7b83f5.html
+++ b/classnlohmann_1_1basic__json_af2730bc8ffa6b28916875c13ee7b83f5.html
@@ -317,12 +317,12 @@ template<template< typename U, typename V, typename...Args > class Obje
46 std::cout << std::setw(4) << j_filtered <<
'\n';
-basic_json<> json
default JSON class
+basic_json<> json
default JSON class
a class to store JSON values
std::function< bool(int depth, parse_event_t event, basic_json &parsed)> parser_callback_t
per-element parser callback type
namespace for Niels Lohmann
the parser read a key of a value in an object
-static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
+static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
parse_event_t
JSON callback events.
Output (play with this example online): {
"Image": {
@@ -362,7 +362,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- See also
- parse(std::istream&, parser_callback_t) for a version that reads from an input stream
- Since
- version 1.0
-Definition at line 4921 of file json.hpp.
+Definition at line 4948 of file json.hpp.
@@ -372,7 +372,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_af661bc209bf22097e2f76607a11b56bf.html b/classnlohmann_1_1basic__json_af661bc209bf22097e2f76607a11b56bf.html
index 9d91f63c7..98332bc96 100644
--- a/classnlohmann_1_1basic__json_af661bc209bf22097e2f76607a11b56bf.html
+++ b/classnlohmann_1_1basic__json_af661bc209bf22097e2f76607a11b56bf.html
@@ -278,7 +278,7 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-bool is_boolean() const noexcept
return whether value is a boolean
+bool is_boolean() const noexcept
return whether value is a boolean
namespace for Niels Lohmann
Output (play with this example online): false
true
@@ -290,7 +290,7 @@ false
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/is_boolean.cpp -o is_boolean
- Since
- version 1.0
-Definition at line 1973 of file json.hpp.
+Definition at line 1976 of file json.hpp.
@@ -300,7 +300,7 @@ false
diff --git a/classnlohmann_1_1basic__json_af6b6050ccd906dddf7c9f47fe3ad62a5.html b/classnlohmann_1_1basic__json_af6b6050ccd906dddf7c9f47fe3ad62a5.html
index 127b16a5c..d85756aed 100644
--- a/classnlohmann_1_1basic__json_af6b6050ccd906dddf7c9f47fe3ad62a5.html
+++ b/classnlohmann_1_1basic__json_af6b6050ccd906dddf7c9f47fe3ad62a5.html
@@ -289,14 +289,14 @@ template<template< typename U, typename V, typename...Args > class Obje
a class to store JSON values
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
namespace for Niels Lohmann
Output (play with this example online): "third"
out of range
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/at__size_type_const.cpp -o at__size_type_const
- Since
- version 1.0
-Definition at line 2660 of file json.hpp.
+Definition at line 2663 of file json.hpp.
@@ -306,7 +306,7 @@ out of range
diff --git a/classnlohmann_1_1basic__json_af709c079de0ac3507143ea2c60699bd0.html b/classnlohmann_1_1basic__json_af709c079de0ac3507143ea2c60699bd0.html
index 8adf4c80a..acb14a0e8 100644
--- a/classnlohmann_1_1basic__json_af709c079de0ac3507143ea2c60699bd0.html
+++ b/classnlohmann_1_1basic__json_af709c079de0ac3507143ea2c60699bd0.html
@@ -331,7 +331,7 @@ array: [1,2,3,4,5]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/operator__ValueType.cpp -o operator__ValueType
- Since
- version 1.0
-Definition at line 2579 of file json.hpp.
+Definition at line 2582 of file json.hpp.
@@ -341,7 +341,7 @@ array: [1,2,3,4,5]
diff --git a/classnlohmann_1_1basic__json_af74581d177dafc38df5a126ccd358999.html b/classnlohmann_1_1basic__json_af74581d177dafc38df5a126ccd358999.html
index 7fe9b769a..cdd9253fb 100644
--- a/classnlohmann_1_1basic__json_af74581d177dafc38df5a126ccd358999.html
+++ b/classnlohmann_1_1basic__json_af74581d177dafc38df5a126ccd358999.html
@@ -261,7 +261,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Returns
- reference to the element at key key
- Exceptions
-
- | std::domain_error | if JSON is not an object or null |
+ | std::domain_error | if JSON is not an object or null; example: "cannot use operator[] with null" |
@@ -323,7 +323,7 @@ template<template< typename U, typename V, typename...Args > class Obje
value() for access by value with a default value
- Since
- version 1.0
-Definition at line 2881 of file json.hpp.
+Definition at line 2887 of file json.hpp.
@@ -333,7 +333,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_af7d0adc984d04fc70c3d29fcd63e096a.html b/classnlohmann_1_1basic__json_af7d0adc984d04fc70c3d29fcd63e096a.html
index 4b23cbfcc..eac544ced 100644
--- a/classnlohmann_1_1basic__json_af7d0adc984d04fc70c3d29fcd63e096a.html
+++ b/classnlohmann_1_1basic__json_af7d0adc984d04fc70c3d29fcd63e096a.html
@@ -272,7 +272,7 @@ template<template< typename U, typename V, typename...Args > class Obje
- Exceptions
-
| std::domain_error | if called on JSON values other than arrays |
- | std::domain_error | if pos is not an iterator of *this |
+ | std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
@@ -294,15 +294,15 @@ template<template< typename U, typename V, typename...Args > class Obje
15 std::cout << v <<
'\n';
a class to store JSON values
-iterator begin()
returns an iterator to the first element
+iterator begin()
returns an iterator to the first element
namespace for Niels Lohmann
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
Output (play with this example online): 10
[1,2,10,3,4]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert.cpp -o insert
- Since
- version 1.0
-Definition at line 4208 of file json.hpp.
+Definition at line 4230 of file json.hpp.
@@ -312,7 +312,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/classnlohmann_1_1basic__json_afc4223b5ad03b1b76e925374a8fff98e.html b/classnlohmann_1_1basic__json_afc4223b5ad03b1b76e925374a8fff98e.html
index 3030ebe31..a875a07c3 100644
--- a/classnlohmann_1_1basic__json_afc4223b5ad03b1b76e925374a8fff98e.html
+++ b/classnlohmann_1_1basic__json_afc4223b5ad03b1b76e925374a8fff98e.html
@@ -282,7 +282,7 @@ template<template< typename U, typename V, typename...Args > class Obje
16 std::cout << j_nonempty_init_list <<
'\n';
17 std::cout << j_list_of_pairs <<
'\n';
-static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
+static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
a class to store JSON values
namespace for Niels Lohmann
Output (play with this example online): []
@@ -295,7 +295,7 @@ template<template< typename U, typename V, typename...Args > class Obje
object(std::initializer_list<basic_json>) – create a JSON object value from an initializer list
- Since
- version 1.0
-Definition at line 1466 of file json.hpp.
+Definition at line 1467 of file json.hpp.
@@ -305,7 +305,7 @@ template<template< typename U, typename V, typename...Args > class Obje
diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index 7f332ae84..9fc0b842f 100644
--- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -92,7 +92,7 @@ Files
diff --git a/functions.html b/functions.html
index f699f7ef2..51eff1a76 100644
--- a/functions.html
+++ b/functions.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_b.html b/functions_b.html
index 82a35f58f..69d4c92c5 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_c.html b/functions_c.html
index 4a7718075..ba7573a5e 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_d.html b/functions_d.html
index 208be9c2a..234353a0b 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_e.html b/functions_e.html
index 303049f03..07e46ca87 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_enum.html b/functions_enum.html
index 03a5f2b29..8c5f8c423 100644
--- a/functions_enum.html
+++ b/functions_enum.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_f.html b/functions_f.html
index 9dea14d1d..d8b54ad6a 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func.html b/functions_func.html
index cd55547b2..d51278fb6 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -413,7 +413,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_g.html b/functions_g.html
index ecedb3ecb..749e317fa 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_i.html b/functions_i.html
index 4a43f9c16..01c1f9988 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_j.html b/functions_j.html
index 8daf2fb9e..afb2d275f 100644
--- a/functions_j.html
+++ b/functions_j.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_k.html b/functions_k.html
index 592fa382c..0f365e142 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_m.html b/functions_m.html
index 6389b9d72..8476fc725 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_n.html b/functions_n.html
index 100b62ca4..162a8488f 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_o.html b/functions_o.html
index 2c74f12b8..0cbed62fb 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_p.html b/functions_p.html
index defa0e19b..505121456 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_r.html b/functions_r.html
index c44076659..6a5da7564 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_rela.html b/functions_rela.html
index 0bcdae5bc..48ab084f7 100644
--- a/functions_rela.html
+++ b/functions_rela.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_s.html b/functions_s.html
index 71d34dd24..cf313f2fd 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_t.html b/functions_t.html
index 06376ce29..6a834d047 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_type.html b/functions_type.html
index 7faeb00b4..91fad4629 100644
--- a/functions_type.html
+++ b/functions_type.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_v.html b/functions_v.html
index 561a321b6..dfd0e51e1 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_~.html b/functions_~.html
index 27a975f25..cf328b8ad 100644
--- a/functions_~.html
+++ b/functions_~.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/graph_legend.html b/graph_legend.html
index 6a0574568..a9d8aedc4 100644
--- a/graph_legend.html
+++ b/graph_legend.html
@@ -142,7 +142,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
diff --git a/hierarchy.html b/hierarchy.html
index c8d59fd82..ca13d8a39 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/index.html b/index.html
index 3e14b4c4a..5e8717c7d 100644
--- a/index.html
+++ b/index.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/json_8hpp_source.html b/json_8hpp_source.html
index 82ed55682..3baa5dbfa 100644
--- a/json_8hpp_source.html
+++ b/json_8hpp_source.html
@@ -459,4461 +459,4462 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
- 1377 bool type_deduction =
true,
-
-
-
- 1381 bool is_an_object =
true;
-
-
-
- 1385 for (
const auto& element : init)
-
- 1387 if (not element.is_array() or element.size() != 2
- 1388 or not element[0].is_string())
-
-
-
- 1392 is_an_object =
false;
-
-
-
-
-
- 1398 if (not type_deduction)
-
-
-
-
- 1403 is_an_object =
false;
-
-
-
-
-
- 1409 throw std::domain_error(
"cannot create object from initializer list");
-
-
-
-
-
-
-
-
-
- 1419 for (
auto& element : init)
-
- 1421 m_value.object->emplace(std::move(*(element[0].m_value.string)), std::move(element[1]));
-
-
-
-
-
-
- 1428 m_value.array = create<array_t>(std::move(init));
-
-
-
- 1466 static basic_json
array(std::initializer_list<basic_json> init =
- 1467 std::initializer_list<basic_json>())
-
-
-
-
- 1506 static basic_json
object(std::initializer_list<basic_json> init =
- 1507 std::initializer_list<basic_json>())
-
-
-
-
-
-
-
- 1533 m_value.array = create<array_t>(cnt, val);
-
-
- 1568 template <
class InputIT,
typename
-
- 1570 std::is_same<InputIT, typename basic_json_t::iterator>::value or
- 1571 std::is_same<InputIT, typename basic_json_t::const_iterator>::value
-
-
- 1574 basic_json(InputIT first, InputIT last) : m_type(first.m_object->m_type)
-
-
- 1577 if (first.m_object != last.m_object)
-
- 1579 throw std::domain_error(
"iterators are not compatible");
-
-
-
-
-
-
-
-
-
-
- 1590 if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
-
- 1592 throw std::out_of_range(
"iterators out of range");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1607 m_value.number_integer = first.m_object->m_value.number_integer;
-
-
-
-
-
- 1613 m_value.number_float = first.m_object->m_value.number_float;
-
-
-
-
-
- 1619 m_value.boolean = first.m_object->m_value.boolean;
-
-
-
-
-
- 1625 m_value = *first.m_object->m_value.string;
-
-
-
-
-
- 1631 m_value.object = create<object_t>(first.m_it.object_iterator, last.m_it.object_iterator);
-
-
-
-
-
- 1637 m_value.array = create<array_t>(first.m_it.array_iterator, last.m_it.array_iterator);
-
-
-
-
-
- 1643 throw std::domain_error(
"cannot use construct with iterators from " + first.m_object->type_name());
-
-
-
-
-
-
-
- 1673 : m_type(other.m_type)
-
-
-
-
-
- 1679 m_value = *other.m_value.object;
-
-
-
-
-
- 1685 m_value = *other.m_value.array;
-
-
-
-
-
- 1691 m_value = *other.m_value.string;
-
-
-
-
-
- 1697 m_value = other.m_value.boolean;
-
-
-
-
-
- 1703 m_value = other.m_value.number_integer;
-
-
-
-
-
- 1709 m_value = other.m_value.number_float;
-
-
-
-
-
-
-
-
-
-
-
- 1739 : m_type(
std::move(other.m_type)),
- 1740 m_value(
std::move(other.m_value))
-
-
-
-
-
-
-
- 1769 std::is_nothrow_move_constructible<value_t>::value and
- 1770 std::is_nothrow_move_assignable<value_t>::value and
- 1771 std::is_nothrow_move_constructible<json_value>::value and
- 1772 std::is_nothrow_move_assignable<json_value>::value
-
-
-
- 1776 swap(m_type, other.m_type);
- 1777 swap(m_value, other.m_value);
-
-
-
-
-
-
-
-
-
- 1800 AllocatorType<object_t> alloc;
- 1801 alloc.destroy(m_value.object);
- 1802 alloc.deallocate(m_value.object, 1);
-
-
-
-
-
- 1808 AllocatorType<array_t> alloc;
- 1809 alloc.destroy(m_value.array);
- 1810 alloc.deallocate(m_value.array, 1);
-
-
-
-
-
- 1816 AllocatorType<string_t> alloc;
- 1817 alloc.destroy(m_value.string);
- 1818 alloc.deallocate(m_value.string, 1);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1865 std::stringstream ss;
-
-
-
- 1869 dump(ss,
true, static_cast<unsigned int>(indent));
-
-
-
-
-
-
-
-
+
+ 1378 bool type_deduction =
true,
+
+
+
+ 1382 bool is_an_object =
true;
+
+
+
+ 1386 for (
const auto& element : init)
+
+ 1388 if (not element.is_array() or element.size() != 2
+ 1389 or not element[0].is_string())
+
+
+
+ 1393 is_an_object =
false;
+
+
+
+
+
+ 1399 if (not type_deduction)
+
+
+
+
+ 1404 is_an_object =
false;
+
+
+
+
+
+ 1410 throw std::domain_error(
"cannot create object from initializer list");
+
+
+
+
+
+
+
+
+
+ 1420 for (
auto& element : init)
+
+ 1422 m_value.object->emplace(std::move(*(element[0].m_value.string)), std::move(element[1]));
+
+
+
+
+
+
+ 1429 m_value.array = create<array_t>(std::move(init));
+
+
+
+ 1467 static basic_json
array(std::initializer_list<basic_json> init =
+ 1468 std::initializer_list<basic_json>())
+
+
+
+
+ 1507 static basic_json
object(std::initializer_list<basic_json> init =
+ 1508 std::initializer_list<basic_json>())
+
+
+
+
+
+
+
+ 1534 m_value.array = create<array_t>(cnt, val);
+
+
+ 1571 template <
class InputIT,
typename
+
+ 1573 std::is_same<InputIT, typename basic_json_t::iterator>::value or
+ 1574 std::is_same<InputIT, typename basic_json_t::const_iterator>::value
+
+
+ 1577 basic_json(InputIT first, InputIT last) : m_type(first.m_object->m_type)
+
+
+ 1580 if (first.m_object != last.m_object)
+
+ 1582 throw std::domain_error(
"iterators are not compatible");
+
+
+
+
+
+
+
+
+
+
+ 1593 if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
+
+ 1595 throw std::out_of_range(
"iterators out of range");
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1610 m_value.number_integer = first.m_object->m_value.number_integer;
+
+
+
+
+
+ 1616 m_value.number_float = first.m_object->m_value.number_float;
+
+
+
+
+
+ 1622 m_value.boolean = first.m_object->m_value.boolean;
+
+
+
+
+
+ 1628 m_value = *first.m_object->m_value.string;
+
+
+
+
+
+ 1634 m_value.object = create<object_t>(first.m_it.object_iterator, last.m_it.object_iterator);
+
+
+
+
+
+ 1640 m_value.array = create<array_t>(first.m_it.array_iterator, last.m_it.array_iterator);
+
+
+
+
+
+ 1646 throw std::domain_error(
"cannot use construct with iterators from " + first.m_object->type_name());
+
+
+
+
+
+
+
+ 1676 : m_type(other.m_type)
+
+
+
+
+
+ 1682 m_value = *other.m_value.object;
+
+
+
+
+
+ 1688 m_value = *other.m_value.array;
+
+
+
+
+
+ 1694 m_value = *other.m_value.string;
+
+
+
+
+
+ 1700 m_value = other.m_value.boolean;
+
+
+
+
+
+ 1706 m_value = other.m_value.number_integer;
+
+
+
+
+
+ 1712 m_value = other.m_value.number_float;
+
+
+
+
+
+
+
+
+
+
+
+ 1742 : m_type(
std::move(other.m_type)),
+ 1743 m_value(
std::move(other.m_value))
+
+
+
+
+
+
+
+ 1772 std::is_nothrow_move_constructible<value_t>::value and
+ 1773 std::is_nothrow_move_assignable<value_t>::value and
+ 1774 std::is_nothrow_move_constructible<json_value>::value and
+ 1775 std::is_nothrow_move_assignable<json_value>::value
+
+
+
+ 1779 swap(m_type, other.m_type);
+ 1780 swap(m_value, other.m_value);
+
+
+
+
+
+
+
+
+
+ 1803 AllocatorType<object_t> alloc;
+ 1804 alloc.destroy(m_value.object);
+ 1805 alloc.deallocate(m_value.object, 1);
+
+
+
+
+
+ 1811 AllocatorType<array_t> alloc;
+ 1812 alloc.destroy(m_value.array);
+ 1813 alloc.deallocate(m_value.array, 1);
+
+
+
+
+
+ 1819 AllocatorType<string_t> alloc;
+ 1820 alloc.destroy(m_value.string);
+ 1821 alloc.deallocate(m_value.string, 1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1868 std::stringstream ss;
+
+
+
+ 1872 dump(ss,
true, static_cast<unsigned int>(indent));
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2157 template <
class T,
typename
-
- 2159 std::is_convertible<typename object_t::key_type, typename T::key_type>::value and
- 2160 std::is_convertible<basic_json_t, typename T::mapped_type>::value
-
- 2162 T get_impl(T*)
const
-
-
-
- 2166 return T(m_value.object->begin(), m_value.object->end());
-
-
-
- 2170 throw std::domain_error(
"type must be object, but is " + type_name());
-
-
-
-
-
-
-
- 2179 return *(m_value.object);
-
-
-
- 2183 throw std::domain_error(
"type must be object, but is " + type_name());
-
-
-
- 2188 template <
class T,
typename
-
- 2190 std::is_convertible<basic_json_t, typename T::value_type>::value and
- 2191 not std::is_same<basic_json_t, typename T::value_type>::value and
- 2192 not std::is_arithmetic<T>::value and
- 2193 not std::is_convertible<std::string, T>::value and
- 2194 not has_mapped_type<T>::value
-
- 2196 T get_impl(T*)
const
-
-
-
-
- 2201 std::transform(m_value.array->begin(), m_value.array->end(),
- 2202 std::inserter(to_vector, to_vector.end()), [](basic_json i)
-
- 2204 return i.get<
typename T::value_type>();
-
-
-
-
-
- 2210 throw std::domain_error(
"type must be array, but is " + type_name());
-
-
-
- 2215 template <
class T,
typename
-
- 2217 std::is_convertible<basic_json_t, T>::value and
- 2218 not std::is_same<basic_json_t, T>::value
-
- 2220 std::vector<T> get_impl(std::vector<T>*)
const
-
-
-
- 2224 std::vector<T> to_vector;
- 2225 to_vector.reserve(m_value.array->size());
- 2226 std::transform(m_value.array->begin(), m_value.array->end(),
- 2227 std::inserter(to_vector, to_vector.end()), [](basic_json i)
-
-
-
-
-
-
-
- 2235 throw std::domain_error(
"type must be array, but is " + type_name());
-
-
-
- 2240 template <
class T,
typename
-
- 2242 std::is_same<basic_json, typename T::value_type>::value and
- 2243 not has_mapped_type<T>::value
-
- 2245 T get_impl(T*)
const
-
-
-
- 2249 return T(m_value.array->begin(), m_value.array->end());
-
-
-
- 2253 throw std::domain_error(
"type must be array, but is " + type_name());
-
-
-
-
-
-
-
- 2262 return *(m_value.array);
-
-
-
- 2266 throw std::domain_error(
"type must be array, but is " + type_name());
-
-
-
- 2271 template <
typename T,
typename
-
- 2273 std::is_convertible<string_t, T>::value
-
- 2275 T get_impl(T*)
const
-
-
-
- 2279 return *m_value.string;
-
-
-
- 2283 throw std::domain_error(
"type must be string, but is " + type_name());
-
-
-
- 2288 template<
typename T,
typename
-
- 2290 std::is_arithmetic<T>::value
-
- 2292 T get_impl(T*)
const
-
-
-
-
-
- 2298 return static_cast<T
>(m_value.number_integer);
-
-
-
-
- 2303 return static_cast<T
>(m_value.number_float);
-
-
-
-
- 2308 throw std::domain_error(
"type must be number, but is " + type_name());
-
-
-
-
-
-
-
-
- 2318 return m_value.boolean;
-
-
-
- 2322 throw std::domain_error(
"type must be boolean, but is " + type_name());
-
-
-
-
-
- 2329 return is_object() ? m_value.object :
nullptr;
-
-
-
-
- 2335 return is_object() ? m_value.object :
nullptr;
-
-
-
-
- 2341 return is_array() ? m_value.array :
nullptr;
-
-
-
-
- 2347 return is_array() ? m_value.array :
nullptr;
-
-
-
-
- 2353 return is_string() ? m_value.string :
nullptr;
-
-
-
-
- 2359 return is_string() ? m_value.string :
nullptr;
-
-
-
-
- 2365 return is_boolean() ? &m_value.boolean :
nullptr;
-
-
-
-
- 2371 return is_boolean() ? &m_value.boolean :
nullptr;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2160 template <
class T,
typename
+
+ 2162 std::is_convertible<typename object_t::key_type, typename T::key_type>::value and
+ 2163 std::is_convertible<basic_json_t, typename T::mapped_type>::value
+
+ 2165 T get_impl(T*)
const
+
+
+
+ 2169 return T(m_value.object->begin(), m_value.object->end());
+
+
+
+ 2173 throw std::domain_error(
"type must be object, but is " + type_name());
+
+
+
+
+
+
+
+ 2182 return *(m_value.object);
+
+
+
+ 2186 throw std::domain_error(
"type must be object, but is " + type_name());
+
+
+
+ 2191 template <
class T,
typename
+
+ 2193 std::is_convertible<basic_json_t, typename T::value_type>::value and
+ 2194 not std::is_same<basic_json_t, typename T::value_type>::value and
+ 2195 not std::is_arithmetic<T>::value and
+ 2196 not std::is_convertible<std::string, T>::value and
+ 2197 not has_mapped_type<T>::value
+
+ 2199 T get_impl(T*)
const
+
+
+
+
+ 2204 std::transform(m_value.array->begin(), m_value.array->end(),
+ 2205 std::inserter(to_vector, to_vector.end()), [](basic_json i)
+
+ 2207 return i.get<
typename T::value_type>();
+
+
+
+
+
+ 2213 throw std::domain_error(
"type must be array, but is " + type_name());
+
+
+
+ 2218 template <
class T,
typename
+
+ 2220 std::is_convertible<basic_json_t, T>::value and
+ 2221 not std::is_same<basic_json_t, T>::value
+
+ 2223 std::vector<T> get_impl(std::vector<T>*)
const
+
+
+
+ 2227 std::vector<T> to_vector;
+ 2228 to_vector.reserve(m_value.array->size());
+ 2229 std::transform(m_value.array->begin(), m_value.array->end(),
+ 2230 std::inserter(to_vector, to_vector.end()), [](basic_json i)
+
+
+
+
+
+
+
+ 2238 throw std::domain_error(
"type must be array, but is " + type_name());
+
+
+
+ 2243 template <
class T,
typename
+
+ 2245 std::is_same<basic_json, typename T::value_type>::value and
+ 2246 not has_mapped_type<T>::value
+
+ 2248 T get_impl(T*)
const
+
+
+
+ 2252 return T(m_value.array->begin(), m_value.array->end());
+
+
+
+ 2256 throw std::domain_error(
"type must be array, but is " + type_name());
+
+
+
+
+
+
+
+ 2265 return *(m_value.array);
+
+
+
+ 2269 throw std::domain_error(
"type must be array, but is " + type_name());
+
+
+
+ 2274 template <
typename T,
typename
+
+ 2276 std::is_convertible<string_t, T>::value
+
+ 2278 T get_impl(T*)
const
+
+
+
+ 2282 return *m_value.string;
+
+
+
+ 2286 throw std::domain_error(
"type must be string, but is " + type_name());
+
+
+
+ 2291 template<
typename T,
typename
+
+ 2293 std::is_arithmetic<T>::value
+
+ 2295 T get_impl(T*)
const
+
+
+
+
+
+ 2301 return static_cast<T
>(m_value.number_integer);
+
+
+
+
+ 2306 return static_cast<T
>(m_value.number_float);
+
+
+
+
+ 2311 throw std::domain_error(
"type must be number, but is " + type_name());
+
+
+
+
+
+
+
+
+ 2321 return m_value.boolean;
+
+
+
+ 2325 throw std::domain_error(
"type must be boolean, but is " + type_name());
+
+
+
+
+
+ 2332 return is_object() ? m_value.object :
nullptr;
+
+
+
+
+ 2338 return is_object() ? m_value.object :
nullptr;
+
+
+
+
+ 2344 return is_array() ? m_value.array :
nullptr;
+
+
+
+
+ 2350 return is_array() ? m_value.array :
nullptr;
+
+
+
+
+ 2356 return is_string() ? m_value.string :
nullptr;
+
+
+
+
+ 2362 return is_string() ? m_value.string :
nullptr;
+
+
+
+
+ 2368 return is_boolean() ? &m_value.boolean :
nullptr;
+
+
+
+
+ 2374 return is_boolean() ? &m_value.boolean :
nullptr;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 2436 template<
typename ValueType,
typename
-
- 2438 not std::is_pointer<ValueType>::value
-
- 2440 ValueType
get()
const
-
- 2442 return get_impl(static_cast<ValueType*>(
nullptr));
-
-
- 2471 template<
typename PointerType,
typename
-
- 2473 std::is_pointer<PointerType>::value
-
- 2475 PointerType
get() noexcept
-
-
- 2478 return get_ptr<PointerType>();
-
-
- 2485 template<
typename PointerType,
typename
-
- 2487 std::is_pointer<PointerType>::value
-
- 2489 const PointerType
get()
const noexcept
-
-
- 2492 return get_ptr<PointerType>();
-
-
- 2520 template<
typename PointerType,
typename
-
- 2522 std::is_pointer<PointerType>::value
-
-
-
-
- 2527 return get_impl_ptr(static_cast<PointerType>(
nullptr));
-
-
- 2534 template<
typename PointerType,
typename
-
- 2536 std::is_pointer<PointerType>::value
- 2537 and std::is_const<typename std::remove_pointer<PointerType>::type>
::value
-
-
-
-
- 2542 return get_impl_ptr(static_cast<const PointerType>(
nullptr));
-
-
- 2573 template<
typename ValueType,
typename
-
- 2575 not std::is_pointer<ValueType>::value
- 2576 and not std::is_same<ValueType, typename string_t::value_type>::value
- 2577 and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>
::value
-
- 2579 operator ValueType()
const
-
-
- 2582 return get<ValueType>();
-
-
-
+
+ 2439 template<
typename ValueType,
typename
+
+ 2441 not std::is_pointer<ValueType>::value
+
+ 2443 ValueType
get()
const
+
+ 2445 return get_impl(static_cast<ValueType*>(
nullptr));
+
+
+ 2474 template<
typename PointerType,
typename
+
+ 2476 std::is_pointer<PointerType>::value
+
+ 2478 PointerType
get() noexcept
+
+
+ 2481 return get_ptr<PointerType>();
+
+
+ 2488 template<
typename PointerType,
typename
+
+ 2490 std::is_pointer<PointerType>::value
+
+ 2492 const PointerType
get()
const noexcept
+
+
+ 2495 return get_ptr<PointerType>();
+
+
+ 2523 template<
typename PointerType,
typename
+
+ 2525 std::is_pointer<PointerType>::value
+
+
+
+
+ 2530 return get_impl_ptr(static_cast<PointerType>(
nullptr));
+
+
+ 2537 template<
typename PointerType,
typename
+
+ 2539 std::is_pointer<PointerType>::value
+ 2540 and std::is_const<typename std::remove_pointer<PointerType>::type>
::value
+
+
+
+
+ 2545 return get_impl_ptr(static_cast<const PointerType>(
nullptr));
+
+
+ 2576 template<
typename ValueType,
typename
+
+ 2578 not std::is_pointer<ValueType>::value
+ 2579 and not std::is_same<ValueType, typename string_t::value_type>::value
+ 2580 and not std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>
::value
+
+ 2582 operator ValueType()
const
+
+
+ 2585 return get<ValueType>();
+
-
-
-
-
-
-
-
-
-
-
- 2624 return m_value.array->at(idx);
-
- 2626 catch (std::out_of_range& e)
-
-
- 2629 throw std::out_of_range(
"array index " + std::to_string(idx) +
" is out of range");
-
-
-
-
- 2634 throw std::domain_error(
"cannot use at() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 2667 return m_value.array->at(idx);
-
- 2669 catch (std::out_of_range& e)
-
-
- 2672 throw std::out_of_range(
"array index " + std::to_string(idx) +
" is out of range");
-
-
-
-
- 2677 throw std::domain_error(
"cannot use at() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 2714 return m_value.object->at(key);
-
- 2716 catch (std::out_of_range& e)
-
-
- 2719 throw std::out_of_range(
"key '" + key +
"' not found");
-
-
-
-
- 2724 throw std::domain_error(
"cannot use at() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 2761 return m_value.object->at(key);
-
- 2763 catch (std::out_of_range& e)
-
-
- 2766 throw std::out_of_range(
"key '" + key +
"' not found");
-
-
-
-
- 2771 throw std::domain_error(
"cannot use at() with " + type_name());
-
-
-
-
-
-
-
-
-
- 2805 m_value.array = create<array_t>();
-
-
-
-
-
- 2811 for (
size_t i = m_value.array->size(); i <= idx; ++i)
-
-
-
-
- 2816 return m_value.array->operator[](idx);
-
-
-
- 2820 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+
+
+
+
+
+
+
+
+
+ 2627 return m_value.array->at(idx);
+
+ 2629 catch (std::out_of_range& e)
+
+
+ 2632 throw std::out_of_range(
"array index " + std::to_string(idx) +
" is out of range");
+
+
+
+
+ 2637 throw std::domain_error(
"cannot use at() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+ 2670 return m_value.array->at(idx);
+
+ 2672 catch (std::out_of_range& e)
+
+
+ 2675 throw std::out_of_range(
"array index " + std::to_string(idx) +
" is out of range");
+
+
+
+
+ 2680 throw std::domain_error(
"cannot use at() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+ 2717 return m_value.object->at(key);
+
+ 2719 catch (std::out_of_range& e)
+
+
+ 2722 throw std::out_of_range(
"key '" + key +
"' not found");
+
+
+
+
+ 2727 throw std::domain_error(
"cannot use at() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+ 2764 return m_value.object->at(key);
+
+ 2766 catch (std::out_of_range& e)
+
+
+ 2769 throw std::out_of_range(
"key '" + key +
"' not found");
+
+
+
+
+ 2774 throw std::domain_error(
"cannot use at() with " + type_name());
+
+
+
+
+
+
+
+
+
+ 2809 m_value.array = create<array_t>();
+
+
+
+
+
+ 2815 for (
size_t i = m_value.array->size(); i <= idx; ++i)
+
+
+
+
+ 2820 return m_value.array->operator[](idx);
-
-
-
-
-
-
-
- 2847 return m_value.array->operator[](idx);
-
-
-
- 2851 throw std::domain_error(
"cannot use operator[] with " + type_name());
-
-
-
-
-
-
-
-
-
- 2887 m_value.object = create<object_t>();
-
-
-
-
-
- 2893 return m_value.object->operator[](key);
+
+
+ 2824 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+
+
+
+
+
+ 2852 return m_value.array->operator[](idx);
+
+
+
+ 2856 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+
+
+
+
+
+
+ 2893 m_value.object = create<object_t>();
-
-
- 2897 throw std::domain_error(
"cannot use operator[] with " + type_name());
-
-
-
-
-
-
-
-
- 2932 return m_value.object->find(key)->second;
-
-
-
- 2936 throw std::domain_error(
"cannot use operator[] with " + type_name());
-
-
-
- 2968 template<
typename T, std::
size_t n>
-
-
-
-
-
-
-
-
-
-
-
-
- 2981 return m_value.object->operator[](key);
-
-
-
- 2985 throw std::domain_error(
"cannot use operator[] with " + type_name());
-
-
-
- 3017 template<
typename T, std::
size_t n>
-
-
-
-
-
- 3023 return m_value.object->find(key)->second;
-
-
-
- 3027 throw std::domain_error(
"cannot use operator[] with " + type_name());
-
-
-
- 3078 template <
class ValueType,
typename
-
- 3080 std::is_convertible<basic_json_t, ValueType>::value
-
- 3082 ValueType
value(
const typename object_t::key_type& key, ValueType default_value)
const
-
-
-
-
-
- 3088 const auto it =
find(key);
-
-
-
-
-
-
- 3095 return default_value;
-
-
-
-
- 3100 throw std::domain_error(
"cannot use value() with " + type_name());
-
-
-
- 3108 string_t value(
const typename object_t::key_type& key,
const char* default_value)
const
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 2899 return m_value.object->operator[](key);
+
+
+
+ 2903 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+
+
+
+
+
+ 2939 return m_value.object->find(key)->second;
+
+
+
+ 2943 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+ 2976 template<
typename T, std::
size_t n>
+
+
+
+
+
+
+
+
+
+
+
+
+ 2989 return m_value.object->operator[](key);
+
+
+
+ 2993 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+ 3026 template<
typename T, std::
size_t n>
+
+
+
+
+
+ 3032 return m_value.object->find(key)->second;
+
+
+
+ 3036 throw std::domain_error(
"cannot use operator[] with " + type_name());
+
+
+
+ 3088 template <
class ValueType,
typename
+
+ 3090 std::is_convertible<basic_json_t, ValueType>::value
+
+ 3092 ValueType
value(
const typename object_t::key_type& key, ValueType default_value)
const
+
+
+
+
+
+ 3098 const auto it =
find(key);
+
+
+
+
+
+
+ 3105 return default_value;
+
+
+
+
+ 3110 throw std::domain_error(
"cannot use value() with " + type_name());
+
+
+
+ 3118 string_t value(
const typename object_t::key_type& key,
const char* default_value)
const
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 3226 template <
class InteratorType,
typename
-
- 3228 std::is_same<InteratorType, typename basic_json_t::iterator>::value or
- 3229 std::is_same<InteratorType, typename basic_json_t::const_iterator>::value
-
-
-
-
-
- 3235 if (
this != pos.m_object)
-
- 3237 throw std::domain_error(
"iterator does not fit current value");
-
-
- 3240 InteratorType result =
end();
-
-
-
-
-
-
-
-
- 3249 if (not pos.m_it.primitive_iterator.is_begin())
-
- 3251 throw std::out_of_range(
"iterator out of range");
-
+
+
+
+
+
+
+
+ 3238 template <
class InteratorType,
typename
+
+ 3240 std::is_same<InteratorType, typename basic_json_t::iterator>::value or
+ 3241 std::is_same<InteratorType, typename basic_json_t::const_iterator>::value
+
+
+
+
+
+ 3247 if (
this != pos.m_object)
+
+ 3249 throw std::domain_error(
"iterator does not fit current value");
+
+
+ 3252 InteratorType result =
end();
-
-
- 3256 delete m_value.string;
- 3257 m_value.string =
nullptr;
-
-
-
-
-
-
-
-
- 3266 result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
-
-
-
-
-
- 3272 result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
+
+
+
+
+
+
+
+ 3261 if (not pos.m_it.primitive_iterator.is_begin())
+
+ 3263 throw std::out_of_range(
"iterator out of range");
+
+
+
+
+ 3268 delete m_value.string;
+ 3269 m_value.string =
nullptr;
+
+
+
-
+
- 3278 throw std::domain_error(
"cannot use erase() with " + type_name());
-
-
+ 3278 result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
+
+
-
-
-
- 3327 template <
class InteratorType,
typename
-
- 3329 std::is_same<InteratorType, typename basic_json_t::iterator>::value or
- 3330 std::is_same<InteratorType, typename basic_json_t::const_iterator>::value
-
-
- 3333 InteratorType
erase(InteratorType first, InteratorType last)
-
-
- 3336 if (
this != first.m_object or
this != last.m_object)
-
- 3338 throw std::domain_error(
"iterators do not fit current value");
-
-
- 3341 InteratorType result =
end();
-
-
-
-
-
-
-
-
- 3350 if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
-
- 3352 throw std::out_of_range(
"iterators out of range");
-
+
+
+ 3284 result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
+
+
+
+
+
+ 3290 throw std::domain_error(
"cannot use erase() with " + type_name());
+
+
+
+
+
+
+ 3341 template <
class InteratorType,
typename
+
+ 3343 std::is_same<InteratorType, typename basic_json_t::iterator>::value or
+ 3344 std::is_same<InteratorType, typename basic_json_t::const_iterator>::value
+
+
+ 3347 InteratorType
erase(InteratorType first, InteratorType last)
+
+
+ 3350 if (
this != first.m_object or
this != last.m_object)
+
+ 3352 throw std::domain_error(
"iterators do not fit current value");
+
-
-
- 3357 delete m_value.string;
- 3358 m_value.string =
nullptr;
-
-
-
-
-
-
-
-
- 3367 result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
- 3368 last.m_it.object_iterator);
-
-
-
-
-
- 3374 result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
- 3375 last.m_it.array_iterator);
+ 3355 InteratorType result =
end();
+
+
+
+
+
+
+
+
+ 3364 if (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())
+
+ 3366 throw std::out_of_range(
"iterators out of range");
+
+
+
+
+ 3371 delete m_value.string;
+ 3372 m_value.string =
nullptr;
+
+
+
-
+
- 3381 throw std::domain_error(
"cannot use erase with " + type_name());
-
-
-
-
-
-
-
-
-
-
-
- 3418 return m_value.object->erase(key);
-
-
-
- 3422 throw std::domain_error(
"cannot use erase() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 3455 throw std::out_of_range(
"index out of range");
-
-
- 3458 m_value.array->erase(m_value.array->begin() +
static_cast<difference_type>(idx));
-
-
-
- 3462 throw std::domain_error(
"cannot use erase() with " + type_name());
-
-
-
-
-
- 3485 auto result =
end();
-
-
-
- 3489 result.m_it.object_iterator = m_value.object->find(key);
-
-
-
-
-
-
-
- 3501 auto result =
cend();
-
-
-
- 3505 result.m_it.object_iterator = m_value.object->find(key);
-
-
-
-
-
-
-
-
- 3532 return is_object() ? m_value.object->count(key) : 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3772 template<
typename IteratorType>
class iteration_proxy;
-
-
-
-
- 3785 return iteration_proxy<iterator>(cont);
-
-
-
-
- 3793 return iteration_proxy<const_iterator>(cont);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3847 return m_value.array->empty();
-
-
-
-
- 3852 return m_value.object->empty();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3904 return m_value.array->size();
-
-
-
-
- 3909 return m_value.object->size();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3958 return m_value.array->max_size();
-
-
-
-
- 3963 return m_value.object->max_size();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4015 m_value.number_integer = 0;
-
-
-
-
-
- 4021 m_value.number_float = 0.0;
-
-
-
-
-
- 4027 m_value.boolean =
false;
-
-
-
-
-
- 4033 m_value.string->clear();
-
-
-
-
-
- 4039 m_value.array->clear();
-
-
-
-
-
- 4045 m_value.object->clear();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4080 throw std::domain_error(
"cannot use push_back() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 4091 m_value.array->push_back(std::move(val));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4115 throw std::domain_error(
"cannot use push_back() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 4126 m_value.array->push_back(val);
-
-
-
-
-
-
-
+ 3381 result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
+ 3382 last.m_it.object_iterator);
+
+
+
+
+
+ 3388 result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
+ 3389 last.m_it.array_iterator);
+
+
+
+
+
+ 3395 throw std::domain_error(
"cannot use erase() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+
+ 3433 return m_value.object->erase(key);
+
+
+
+ 3437 throw std::domain_error(
"cannot use erase() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+ 3472 throw std::out_of_range(
"index out of range");
+
+
+ 3475 m_value.array->erase(m_value.array->begin() +
static_cast<difference_type>(idx));
+
+
+
+ 3479 throw std::domain_error(
"cannot use erase() with " + type_name());
+
+
+
+
+
+ 3502 auto result =
end();
+
+
+
+ 3506 result.m_it.object_iterator = m_value.object->find(key);
+
+
+
+
+
+
+
+ 3518 auto result =
cend();
+
+
+
+ 3522 result.m_it.object_iterator = m_value.object->find(key);
+
+
+
+
+
+
+
+
+ 3549 return is_object() ? m_value.object->count(key) : 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3789 template<
typename IteratorType>
class iteration_proxy;
+
+
+
+
+ 3805 return iteration_proxy<iterator>(cont);
+
+
+
+
+ 3813 return iteration_proxy<const_iterator>(cont);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3867 return m_value.array->empty();
+
+
+
+
+ 3872 return m_value.object->empty();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3924 return m_value.array->size();
+
+
+
+
+ 3929 return m_value.object->size();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3978 return m_value.array->max_size();
+
+
+
+
+ 3983 return m_value.object->max_size();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4035 m_value.number_integer = 0;
+
+
+
+
+
+ 4041 m_value.number_float = 0.0;
+
+
+
+
+
+ 4047 m_value.boolean =
false;
+
+
+
+
+
+ 4053 m_value.string->clear();
+
+
+
+
+
+ 4059 m_value.array->clear();
+
+
+
+
+
+ 4065 m_value.object->clear();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4101 throw std::domain_error(
"cannot use push_back() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+ 4112 m_value.array->push_back(std::move(val));
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4136 throw std::domain_error(
"cannot use push_back() with " + type_name());
+
-
-
-
-
-
- 4164 throw std::domain_error(
"cannot use push_back() with " + type_name());
-
-
-
-
-
-
-
-
-
-
- 4175 m_value.object->insert(val);
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ 4147 m_value.array->push_back(val);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4185 throw std::domain_error(
"cannot use push_back() with " + type_name());
+
-
-
-
-
-
-
- 4214 if (pos.m_object !=
this)
-
- 4216 throw std::domain_error(
"iterator does not fit current value");
-
-
-
-
- 4221 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, val);
-
-
-
-
- 4226 throw std::domain_error(
"cannot use insert() with " + type_name());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4267 if (pos.m_object !=
this)
-
- 4269 throw std::domain_error(
"iterator does not fit current value");
-
-
-
-
- 4274 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
-
-
-
-
- 4279 throw std::domain_error(
"cannot use insert() with " + type_name());
-
-
-
-
-
-
-
-
- 4314 throw std::domain_error(
"cannot use insert() with " + type_name());
-
-
-
- 4318 if (pos.m_object !=
this)
-
- 4320 throw std::domain_error(
"iterator does not fit current value");
-
-
- 4323 if (first.m_object != last.m_object)
-
- 4325 throw std::domain_error(
"iterators do not fit");
-
-
- 4328 if (first.m_object ==
this or last.m_object ==
this)
-
- 4330 throw std::domain_error(
"passed iterators may not belong to container");
-
-
-
-
- 4335 result.m_it.array_iterator = m_value.array->insert(
- 4336 pos.m_it.array_iterator,
- 4337 first.m_it.array_iterator,
- 4338 last.m_it.array_iterator);
-
-
-
-
-
-
-
-
- 4368 throw std::domain_error(
"cannot use insert() with " + type_name());
-
-
-
- 4372 if (pos.m_object !=
this)
-
- 4374 throw std::domain_error(
"iterator does not fit current value");
-
-
-
-
- 4379 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
-
-
-
-
- 4401 std::is_nothrow_move_constructible<value_t>::value and
- 4402 std::is_nothrow_move_assignable<value_t>::value and
- 4403 std::is_nothrow_move_constructible<json_value>::value and
- 4404 std::is_nothrow_move_assignable<json_value>::value
-
-
- 4407 std::swap(m_type, other.m_type);
- 4408 std::swap(m_value, other.m_value);
-
-
-
-
-
-
-
- 4435 std::swap(*(m_value.array), other);
-
-
-
- 4439 throw std::domain_error(
"cannot use swap() with " + type_name());
-
-
-
-
-
-
-
-
- 4467 std::swap(*(m_value.object), other);
-
-
-
- 4471 throw std::domain_error(
"cannot use swap() with " + type_name());
-
-
-
-
-
-
-
-
- 4499 std::swap(*(m_value.string), other);
-
-
-
- 4503 throw std::domain_error(
"cannot use swap() with " + type_name());
-
-
-
-
-
-
-
-
-
-
-
- 4529 static constexpr std::array<uint8_t, 7> order = {{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4546 return order[
static_cast<std::size_t
>(lhs)] < order[static_cast<std::size_t>(rhs)];
-
-
-
-
-
- 4575 const auto lhs_type = lhs.type();
- 4576 const auto rhs_type = rhs.type();
-
- 4578 if (lhs_type == rhs_type)
-
-
-
-
- 4583 return *lhs.m_value.array == *rhs.m_value.array;
-
- 4585 return *lhs.m_value.object == *rhs.m_value.object;
-
-
-
- 4589 return *lhs.m_value.string == *rhs.m_value.string;
-
- 4591 return lhs.m_value.boolean == rhs.m_value.boolean;
-
- 4593 return lhs.m_value.number_integer == rhs.m_value.number_integer;
-
- 4595 return approx(lhs.m_value.number_float, rhs.m_value.number_float);
-
-
-
-
-
-
- 4602 return approx(static_cast<number_float_t>(lhs.m_value.number_integer),
- 4603 rhs.m_value.number_float);
-
-
+
+
+
+
+
+
+
+
+ 4196 m_value.object->insert(val);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4236 if (pos.m_object !=
this)
+
+ 4238 throw std::domain_error(
"iterator does not fit current value");
+
+
+
+
+ 4243 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, val);
+
+
+
+
+ 4248 throw std::domain_error(
"cannot use insert() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4290 if (pos.m_object !=
this)
+
+ 4292 throw std::domain_error(
"iterator does not fit current value");
+
+
+
+
+ 4297 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
+
+
+
+
+ 4302 throw std::domain_error(
"cannot use insert() with " + type_name());
+
+
+
+
+
+
+
+
+ 4340 throw std::domain_error(
"cannot use insert() with " + type_name());
+
+
+
+ 4344 if (pos.m_object !=
this)
+
+ 4346 throw std::domain_error(
"iterator does not fit current value");
+
+
+ 4349 if (first.m_object != last.m_object)
+
+ 4351 throw std::domain_error(
"iterators do not fit");
+
+
+ 4354 if (first.m_object ==
this or last.m_object ==
this)
+
+ 4356 throw std::domain_error(
"passed iterators may not belong to container");
+
+
+
+
+ 4361 result.m_it.array_iterator = m_value.array->insert(
+ 4362 pos.m_it.array_iterator,
+ 4363 first.m_it.array_iterator,
+ 4364 last.m_it.array_iterator);
+
+
+
+
+
+
+
+
+ 4395 throw std::domain_error(
"cannot use insert() with " + type_name());
+
+
+
+ 4399 if (pos.m_object !=
this)
+
+ 4401 throw std::domain_error(
"iterator does not fit current value");
+
+
+
+
+ 4406 result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
+
+
+
+
+ 4428 std::is_nothrow_move_constructible<value_t>::value and
+ 4429 std::is_nothrow_move_assignable<value_t>::value and
+ 4430 std::is_nothrow_move_constructible<json_value>::value and
+ 4431 std::is_nothrow_move_assignable<json_value>::value
+
+
+ 4434 std::swap(m_type, other.m_type);
+ 4435 std::swap(m_value, other.m_value);
+
+
+
+
+
+
+
+ 4462 std::swap(*(m_value.array), other);
+
+
+
+ 4466 throw std::domain_error(
"cannot use swap() with " + type_name());
+
+
+
+
+
+
+
+
+ 4494 std::swap(*(m_value.object), other);
+
+
+
+ 4498 throw std::domain_error(
"cannot use swap() with " + type_name());
+
+
+
+
+
+
+
+
+ 4526 std::swap(*(m_value.string), other);
+
+
+
+ 4530 throw std::domain_error(
"cannot use swap() with " + type_name());
+
+
+
+
+
+
+
+
+
+
+
+ 4556 static constexpr std::array<uint8_t, 7> order = {{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4573 return order[
static_cast<std::size_t
>(lhs)] < order[static_cast<std::size_t>(rhs)];
+
+
+
+
+
+ 4602 const auto lhs_type = lhs.type();
+ 4603 const auto rhs_type = rhs.type();
+
+ 4605 if (lhs_type == rhs_type)
- 4607 return approx(lhs.m_value.number_float,
- 4608 static_cast<number_float_t>(rhs.m_value.number_integer));
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4663 return not (lhs == rhs);
-
-
-
-
-
-
-
-
-
- 4695 return not v.is_null();
-
-
-
-
- 4724 const auto lhs_type = lhs.type();
- 4725 const auto rhs_type = rhs.type();
-
- 4727 if (lhs_type == rhs_type)
-
-
-
-
- 4732 return *lhs.m_value.array < *rhs.m_value.array;
-
- 4734 return *lhs.m_value.object < *rhs.m_value.object;
-
-
-
- 4738 return *lhs.m_value.string < *rhs.m_value.string;
-
- 4740 return lhs.m_value.boolean < rhs.m_value.boolean;
-
- 4742 return lhs.m_value.number_integer < rhs.m_value.number_integer;
-
- 4744 return lhs.m_value.number_float < rhs.m_value.number_float;
-
-
-
-
-
-
-
- 4752 rhs.m_value.number_float;
-
-
+
+
+
+ 4610 return *lhs.m_value.array == *rhs.m_value.array;
+
+ 4612 return *lhs.m_value.object == *rhs.m_value.object;
+
+
+
+ 4616 return *lhs.m_value.string == *rhs.m_value.string;
+
+ 4618 return lhs.m_value.boolean == rhs.m_value.boolean;
+
+ 4620 return lhs.m_value.number_integer == rhs.m_value.number_integer;
+
+ 4622 return approx(lhs.m_value.number_float, rhs.m_value.number_float);
+
+
+
+
+
+
+ 4629 return approx(static_cast<number_float_t>(lhs.m_value.number_integer),
+ 4630 rhs.m_value.number_float);
+
+
+
+ 4634 return approx(lhs.m_value.number_float,
+ 4635 static_cast<number_float_t>(rhs.m_value.number_integer));
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4690 return not (lhs == rhs);
+
+
+
+
+
+
+
+
+
+ 4722 return not v.is_null();
+
+
+
+
+ 4751 const auto lhs_type = lhs.type();
+ 4752 const auto rhs_type = rhs.type();
+
+ 4754 if (lhs_type == rhs_type)
- 4756 return lhs.m_value.number_float <
-
-
-
-
-
-
-
-
-
-
-
- 4785 return not (rhs < lhs);
-
-
-
-
- 4807 return not (lhs <= rhs);
-
-
-
-
- 4829 return not (lhs < rhs);
-
-
-
-
-
-
-
- 4864 friend std::ostream&
operator<<(std::ostream& o,
const basic_json& j)
-
-
- 4867 const bool pretty_print = (o.width() > 0);
- 4868 const auto indentation = (pretty_print ? o.width() : 0);
-
-
-
-
-
- 4874 j.
dump(o, pretty_print, static_cast<unsigned int>(indentation));
-
-
-
- 4882 friend std::ostream&
operator>>(
const basic_json& j, std::ostream& o)
-
-
-
-
-
-
-
-
+
+
+
+ 4759 return *lhs.m_value.array < *rhs.m_value.array;
+
+ 4761 return *lhs.m_value.object < *rhs.m_value.object;
+
+
+
+ 4765 return *lhs.m_value.string < *rhs.m_value.string;
+
+ 4767 return lhs.m_value.boolean < rhs.m_value.boolean;
+
+ 4769 return lhs.m_value.number_integer < rhs.m_value.number_integer;
+
+ 4771 return lhs.m_value.number_float < rhs.m_value.number_float;
+
+
+
+
+
+
+
+ 4779 rhs.m_value.number_float;
+
+
+
+ 4783 return lhs.m_value.number_float <
+
+
+
+
+
+
+
+
+
+
+
+ 4812 return not (rhs < lhs);
+
+
+
+
+ 4834 return not (lhs <= rhs);
+
+
+
+
+ 4856 return not (lhs < rhs);
+
+
+
+
+
+
+
+ 4891 friend std::ostream&
operator<<(std::ostream& o,
const basic_json& j)
+
+
+ 4894 const bool pretty_print = (o.width() > 0);
+ 4895 const auto indentation = (pretty_print ? o.width() : 0);
-
-
- 4923 return parser(s, cb).
parse();
-
-
-
-
- 4952 return parser(i, cb).
parse();
-
-
-
-
- 4960 return parser(i, cb).
parse();
-
-
-
-
- 4988 j = parser(i).
parse();
-
-
-
-
-
- 4998 j = parser(i).
parse();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 4901 j.
dump(o, pretty_print, static_cast<unsigned int>(indentation));
+
+
+
+ 4909 friend std::ostream&
operator>>(
const basic_json& j, std::ostream& o)
+
+
+
+
+
+
+
+
+
+
+
+ 4950 return parser(s, cb).
parse();
+
+
+
+
+ 4979 return parser(i, cb).
parse();
+
+
+
+
+ 4987 return parser(i, cb).
parse();
+
+
+
+
+ 5015 j = parser(i).
parse();
+
+
+
+
+
+ 5025 j = parser(i).
parse();
+
+
+
+
- 5040 static std::size_t extra_space(
const string_t& s) noexcept
-
- 5042 std::size_t result = 0;
-
- 5044 for (
const auto& c : s)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5063 if (c >= 0x00 and c <= 0x1f)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5091 const auto space = extra_space(s);
-
-
-
-
-
-
- 5098 string_t result(s.size() + space,
'\\');
- 5099 std::size_t pos = 0;
-
- 5101 for (
const auto& c : s)
-
-
-
-
-
-
- 5108 result[pos + 1] =
'"';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5124 result[pos + 1] =
'b';
-
-
-
-
-
-
-
- 5132 result[pos + 1] =
'f';
-
-
-
-
-
-
-
- 5140 result[pos + 1] =
'n';
-
-
-
-
-
-
-
- 5148 result[pos + 1] =
'r';
-
-
-
-
-
-
-
- 5156 result[pos + 1] =
't';
-
-
-
-
-
-
- 5163 if (c >= 0x00 and c <= 0x1f)
-
-
- 5166 auto hexify = [](
const char v) ->
char
-
- 5168 return (v < 10) ? (
'0' + v) : (
'a' + v - 10);
-
-
-
-
- 5173 {
'u',
'0',
'0', hexify(c >> 4), hexify(c & 0x0f)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5211 void dump(std::ostream& o,
- 5212 const bool pretty_print,
- 5213 const unsigned int indent_step,
- 5214 const unsigned int current_indent = 0)
const
-
-
- 5217 unsigned int new_indent = current_indent;
-
-
-
-
-
- 5223 if (m_value.object->empty())
-
-
-
-
-
-
-
-
-
-
- 5234 new_indent += indent_step;
-
-
-
- 5238 for (
auto i = m_value.object->cbegin(); i != m_value.object->cend(); ++i)
-
- 5240 if (i != m_value.object->cbegin())
-
- 5242 o << (pretty_print ?
",\n" :
",");
-
- 5244 o <<
string_t(new_indent,
' ') <<
"\""
- 5245 << escape_string(i->first) <<
"\":"
- 5246 << (pretty_print ?
" " :
"");
- 5247 i->second.dump(o, pretty_print, indent_step, new_indent);
-
-
-
-
-
- 5253 new_indent -= indent_step;
-
-
-
- 5257 o <<
string_t(new_indent,
' ') +
"}";
-
-
-
-
-
- 5263 if (m_value.array->empty())
-
-
-
-
-
-
-
-
-
-
- 5274 new_indent += indent_step;
-
-
-
- 5278 for (
auto i = m_value.array->cbegin(); i != m_value.array->cend(); ++i)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5067 static std::size_t extra_space(
const string_t& s) noexcept
+
+ 5069 std::size_t result = 0;
+
+ 5071 for (
const auto& c : s)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5090 if (c >= 0x00 and c <= 0x1f)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5118 const auto space = extra_space(s);
+
+
+
+
+
+
+ 5125 string_t result(s.size() + space,
'\\');
+ 5126 std::size_t pos = 0;
+
+ 5128 for (
const auto& c : s)
+
+
+
+
+
+
+ 5135 result[pos + 1] =
'"';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5151 result[pos + 1] =
'b';
+
+
+
+
+
+
+
+ 5159 result[pos + 1] =
'f';
+
+
+
+
+
+
+
+ 5167 result[pos + 1] =
'n';
+
+
+
+
+
+
+
+ 5175 result[pos + 1] =
'r';
+
+
+
+
+
+
+
+ 5183 result[pos + 1] =
't';
+
+
+
+
+
+
+ 5190 if (c >= 0x00 and c <= 0x1f)
+
+
+ 5193 auto hexify = [](
const char v) ->
char
+
+ 5195 return (v < 10) ? (
'0' + v) : (
'a' + v - 10);
+
+
+
+
+ 5200 {
'u',
'0',
'0', hexify(c >> 4), hexify(c & 0x0f)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5238 void dump(std::ostream& o,
+ 5239 const bool pretty_print,
+ 5240 const unsigned int indent_step,
+ 5241 const unsigned int current_indent = 0)
const
+
+
+ 5244 unsigned int new_indent = current_indent;
+
+
+
+
+
+ 5250 if (m_value.object->empty())
+
+
+
+
+
+
+
+
+
+
+ 5261 new_indent += indent_step;
+
+
+
+ 5265 for (
auto i = m_value.object->cbegin(); i != m_value.object->cend(); ++i)
+
+ 5267 if (i != m_value.object->cbegin())
+
+ 5269 o << (pretty_print ?
",\n" :
",");
+
+ 5271 o <<
string_t(new_indent,
' ') <<
"\""
+ 5272 << escape_string(i->first) <<
"\":"
+ 5273 << (pretty_print ?
" " :
"");
+ 5274 i->second.dump(o, pretty_print, indent_step, new_indent);
+
+
+
+
- 5280 if (i != m_value.array->cbegin())
-
- 5282 o << (pretty_print ?
",\n" :
",");
-
-
- 5285 i->dump(o, pretty_print, indent_step, new_indent);
-
+ 5280 new_indent -= indent_step;
+
+
+
+ 5284 o <<
string_t(new_indent,
' ') +
"}";
+
+
-
-
-
- 5291 new_indent -= indent_step;
-
-
-
- 5295 o <<
string_t(new_indent,
' ') <<
"]";
-
-
-
-
-
- 5301 o <<
string_t(
"\"") << escape_string(*m_value.string) <<
"\"";
-
-
+
+
+ 5290 if (m_value.array->empty())
+
+
+
+
+
+
+
+
+
+
+ 5301 new_indent += indent_step;
+
+
-
-
- 5307 o << (m_value.boolean ?
"true" :
"false");
-
-
-
-
-
- 5313 o << m_value.number_integer;
-
-
-
-
-
-
-
-
- 5322 o << std::setprecision(std::numeric_limits<number_float_t>::digits10) << m_value.number_float;
+ 5305 for (
auto i = m_value.array->cbegin(); i != m_value.array->cend(); ++i)
+
+ 5307 if (i != m_value.array->cbegin())
+
+ 5309 o << (pretty_print ?
",\n" :
",");
+
+
+ 5312 i->dump(o, pretty_print, indent_step, new_indent);
+
+
+
+
+
+ 5318 new_indent -= indent_step;
+
+
+
+ 5322 o <<
string_t(new_indent,
' ') <<
"]";
-
+
-
+ 5328 o <<
string_t(
"\"") << escape_string(*m_value.string) <<
"\"";
-
+
-
+ 5334 o << (m_value.boolean ?
"true" :
"false");
-
-
-
-
-
-
-
-
- 5349 json_value m_value = {};
-
-
-
-
-
- 5366 class primitive_iterator_t
-
-
-
-
-
-
+
+
+
+ 5340 o << m_value.number_integer;
+
+
+
+
+
+
+
+
+ 5349 o << std::setprecision(std::numeric_limits<number_float_t>::digits10) << m_value.number_float;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 5382 bool is_begin()
const
-
- 5384 return (m_it == begin_value);
-
-
-
-
- 5390 return (m_it == end_value);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5410 difference_type m_it = std::numeric_limits<std::ptrdiff_t>::denorm_min();
-
-
- 5420 struct internal_iterator
-
- 5423 typename object_t::iterator object_iterator;
- 5425 typename array_t::iterator array_iterator;
- 5427 primitive_iterator_t primitive_iterator;
-
-
- 5431 : object_iterator(), array_iterator(), primitive_iterator()
-
-
-
-
- 5449 class const_iterator :
public std::iterator<std::random_access_iterator_tag, const basic_json>
-
- 5452 friend class basic_json;
-
-
-
-
-
-
-
-
-
-
-
-
- 5472 switch (m_object->m_type)
-
-
-
- 5476 m_it.object_iterator =
typename object_t::iterator();
-
-
-
-
-
- 5482 m_it.array_iterator =
typename array_t::iterator();
-
-
-
-
-
- 5488 m_it.primitive_iterator = primitive_iterator_t();
-
-
-
-
-
-
-
- 5497 switch (m_object->m_type)
+ 5376 json_value m_value = {};
+
+
+
+
+
+ 5393 class primitive_iterator_t
+
+
+
+
+
+
+
+
+
+
+
+
+ 5409 bool is_begin()
const
+
+ 5411 return (m_it == begin_value);
+
+
+
+
+ 5417 return (m_it == end_value);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5437 difference_type m_it = std::numeric_limits<std::ptrdiff_t>::denorm_min();
+
+
+ 5447 struct internal_iterator
+
+ 5450 typename object_t::iterator object_iterator;
+ 5452 typename array_t::iterator array_iterator;
+ 5454 primitive_iterator_t primitive_iterator;
+
+
+ 5458 : object_iterator(), array_iterator(), primitive_iterator()
+
+
+
+ 5463 template<
typename IteratorType>
+ 5464 class iteration_proxy
+
+
+ 5468 class iteration_proxy_internal
+
+
+ 5472 IteratorType anchor;
+ 5474 size_t array_index = 0;
+
+
+ 5477 iteration_proxy_internal(IteratorType it)
+
+
+
+ 5482 iteration_proxy_internal& operator*()
+
+
+
+
+ 5488 iteration_proxy_internal& operator++()
+
+
+
+
+
+
+
+ 5497 bool operator!= (
const iteration_proxy_internal& o)
-
-
- 5501 m_it.object_iterator = other.m_it.object_iterator;
-
-
-
-
+ 5499 return anchor != o.anchor;
+
+
+
+
+ 5505 switch (anchor.m_object->type())
- 5507 m_it.array_iterator = other.m_it.array_iterator;
-
-
-
-
-
- 5513 m_it.primitive_iterator = other.m_it.primitive_iterator;
-
-
-
-
+
+
+
+ 5510 return std::to_string(array_index);
+
+
+
+
+
+ 5516 return anchor.key();
+
-
- 5521 : m_object(other.m_object), m_it(other.m_it)
-
-
-
- 5526 std::is_nothrow_move_constructible<pointer>::value and
- 5527 std::is_nothrow_move_assignable<pointer>::value and
- 5528 std::is_nothrow_move_constructible<internal_iterator>::value and
- 5529 std::is_nothrow_move_assignable<internal_iterator>::value
-
-
- 5532 std::swap(m_object, other.m_object);
- 5533 std::swap(m_it, other.m_it);
-
-
+
+
+
+
+
+
+
+
+ 5528 typename IteratorType::reference
value()
const
+
+ 5530 return anchor.value();
+
+
+
+ 5535 typename IteratorType::reference container;
-
-
-
- 5541 switch (m_object->m_type)
-
-
-
- 5545 m_it.object_iterator = m_object->m_value.object->begin();
-
-
+
+ 5539 iteration_proxy(
typename IteratorType::reference cont)
+
+
+
+ 5544 iteration_proxy_internal
begin()
+
+ 5546 return iteration_proxy_internal(container.begin());
+
-
-
- 5551 m_it.array_iterator = m_object->m_value.array->begin();
-
-
-
-
-
-
- 5558 m_it.primitive_iterator.set_end();
-
-
-
-
-
- 5564 m_it.primitive_iterator.set_begin();
-
-
-
-
-
-
-
- 5573 switch (m_object->m_type)
-
-
-
- 5577 m_it.object_iterator = m_object->m_value.object->end();
-
-
-
-
-
- 5583 m_it.array_iterator = m_object->m_value.array->end();
-
-
+ 5550 iteration_proxy_internal
end()
+
+ 5552 return iteration_proxy_internal(container.end());
+
+
+
+
+ 5570 class const_iterator :
public std::iterator<std::random_access_iterator_tag, const basic_json>
+
+ 5573 friend class basic_json;
+
+
+
+
+
+
+
-
-
- 5589 m_it.primitive_iterator.set_end();
-
-
-
-
-
-
-
-
- 5599 switch (m_object->m_type)
-
-
+
+
+
+
+ 5593 switch (m_object->m_type)
+
+
+
+ 5597 m_it.object_iterator =
typename object_t::iterator();
+
+
+
+
- 5603 return m_it.object_iterator->second;
-
-
-
-
- 5608 return *m_it.array_iterator;
-
-
-
-
- 5613 throw std::out_of_range(
"cannot get value");
-
-
-
-
- 5618 if (m_it.primitive_iterator.is_begin())
-
-
-
-
-
- 5624 throw std::out_of_range(
"cannot get value");
-
-
-
-
-
-
-
- 5633 switch (m_object->m_type)
-
-
-
- 5637 return &(m_it.object_iterator->second);
-
+ 5603 m_it.array_iterator =
typename array_t::iterator();
+
+
+
+
+
+ 5609 m_it.primitive_iterator = primitive_iterator_t();
+
+
+
+
+
+
+
+ 5618 switch (m_object->m_type)
+
+
+
+ 5622 m_it.object_iterator = other.m_it.object_iterator;
+
+
+
+
+
+ 5628 m_it.array_iterator = other.m_it.array_iterator;
+
+
+
+
+
+ 5634 m_it.primitive_iterator = other.m_it.primitive_iterator;
+
+
+
+
-
-
- 5642 return &*m_it.array_iterator;
-
+
+ 5642 : m_object(other.m_object), m_it(other.m_it)
+
-
-
- 5647 if (m_it.primitive_iterator.is_begin())
-
-
-
-
-
- 5653 throw std::out_of_range(
"cannot get value");
-
-
-
-
-
-
+
+ 5647 std::is_nothrow_move_constructible<pointer>::value and
+ 5648 std::is_nothrow_move_assignable<pointer>::value and
+ 5649 std::is_nothrow_move_constructible<internal_iterator>::value and
+ 5650 std::is_nothrow_move_assignable<internal_iterator>::value
+
+
+ 5653 std::swap(m_object, other.m_object);
+ 5654 std::swap(m_it, other.m_it);
+
+
+
+
+
- 5662 auto result = *
this;
-
-
-
-
-
-
- 5670 switch (m_object->m_type)
-
-
-
- 5674 ++m_it.object_iterator;
-
-
-
-
-
- 5680 ++m_it.array_iterator;
-
-
-
-
-
- 5686 ++m_it.primitive_iterator;
-
-
-
+ 5662 switch (m_object->m_type)
+
+
+
+ 5666 m_it.object_iterator = m_object->m_value.object->begin();
+
+
+
+
+
+ 5672 m_it.array_iterator = m_object->m_value.array->begin();
+
+
+
+
+
+
+ 5679 m_it.primitive_iterator.set_end();
+
+
+
+
+
+ 5685 m_it.primitive_iterator.set_begin();
+
+
+
+
-
-
-
-
-
- 5697 auto result = *
this;
-
-
-
+
+
+ 5694 switch (m_object->m_type)
+
+
+
+ 5698 m_it.object_iterator = m_object->m_value.object->end();
+
+
-
-
- 5705 switch (m_object->m_type)
-
-
-
- 5709 --m_it.object_iterator;
-
-
-
-
-
- 5715 --m_it.array_iterator;
-
-
-
-
-
- 5721 --m_it.primitive_iterator;
-
-
-
-
-
-
-
-
-
-
- 5733 if (m_object != other.m_object)
-
- 5735 throw std::domain_error(
"cannot compare iterators of different containers");
-
-
- 5738 switch (m_object->m_type)
-
-
-
- 5742 return (m_it.object_iterator == other.m_it.object_iterator);
-
-
-
-
- 5747 return (m_it.array_iterator == other.m_it.array_iterator);
-
-
-
-
- 5752 return (m_it.primitive_iterator == other.m_it.primitive_iterator);
-
-
-
-
-
-
-
-
-
-
-
-
- 5767 if (m_object != other.m_object)
-
- 5769 throw std::domain_error(
"cannot compare iterators of different containers");
-
-
- 5772 switch (m_object->m_type)
-
-
-
- 5776 throw std::domain_error(
"cannot use operator< for object iterators");
-
-
-
-
- 5781 return (m_it.array_iterator < other.m_it.array_iterator);
-
-
-
-
- 5786 return (m_it.primitive_iterator < other.m_it.primitive_iterator);
-
-
-
-
-
-
- 5794 return not other.operator < (*this);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5812 switch (m_object->m_type)
-
-
-
- 5816 throw std::domain_error(
"cannot use operator+= for object iterators");
-
-
-
-
- 5821 m_it.array_iterator += i;
-
-
-
-
-
- 5827 m_it.primitive_iterator += i;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5844 auto result = *
this;
-
-
-
-
-
-
- 5852 auto result = *
this;
-
-
-
-
-
-
- 5860 switch (m_object->m_type)
-
-
-
- 5864 throw std::domain_error(
"cannot use operator- for object iterators");
-
-
-
-
- 5869 return m_it.array_iterator - other.m_it.array_iterator;
-
-
-
-
- 5874 return m_it.primitive_iterator - other.m_it.primitive_iterator;
-
-
-
-
-
-
- 5882 switch (m_object->m_type)
-
-
-
- 5886 throw std::domain_error(
"cannot use operator[] for object iterators");
-
-
-
-
- 5891 return *(m_it.array_iterator + n);
-
-
-
-
- 5896 throw std::out_of_range(
"cannot get value");
-
-
-
-
- 5901 if (m_it.primitive_iterator == -n)
-
-
-
-
-
- 5907 throw std::out_of_range(
"cannot get value");
-
-
-
-
-
- 5914 typename object_t::key_type
key()
const
-
- 5916 if (m_object->is_object())
-
- 5918 return m_it.object_iterator->first;
-
-
-
- 5922 throw std::domain_error(
"cannot use key() for non-object iterators");
-
-
-
-
-
-
-
-
-
-
- 5936 internal_iterator m_it = internal_iterator();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 5704 m_it.array_iterator = m_object->m_value.array->end();
+
+
+
+
+
+ 5710 m_it.primitive_iterator.set_end();
+
+
+
+
+
+
+
+
+ 5720 switch (m_object->m_type)
+
+
+
+ 5724 return m_it.object_iterator->second;
+
+
+
+
+ 5729 return *m_it.array_iterator;
+
+
+
+
+ 5734 throw std::out_of_range(
"cannot get value");
+
+
+
+
+ 5739 if (m_it.primitive_iterator.is_begin())
+
+
+
+
+
+ 5745 throw std::out_of_range(
"cannot get value");
+
+
+
+
+
+
+
+ 5754 switch (m_object->m_type)
+
+
+
+ 5758 return &(m_it.object_iterator->second);
+
+
+
+
+ 5763 return &*m_it.array_iterator;
+
+
+
+
+ 5768 if (m_it.primitive_iterator.is_begin())
+
+
+
+
+
+ 5774 throw std::out_of_range(
"cannot get value");
+
+
+
+
+
+
+
+ 5783 auto result = *
this;
+
+
+
+
+
+
+ 5791 switch (m_object->m_type)
+
+
+
+ 5795 ++m_it.object_iterator;
+
+
+
+
+
+ 5801 ++m_it.array_iterator;
+
+
+
+
+
+ 5807 ++m_it.primitive_iterator;
+
+
+
+
+
+
+
+
+
+ 5818 auto result = *
this;
+
+
+
+
+
+
+ 5826 switch (m_object->m_type)
+
+
+
+ 5830 --m_it.object_iterator;
+
+
+
+
+
+ 5836 --m_it.array_iterator;
+
+
+
+
+
+ 5842 --m_it.primitive_iterator;
+
+
+
+
+
+
+
+
+
+
+ 5854 if (m_object != other.m_object)
+
+ 5856 throw std::domain_error(
"cannot compare iterators of different containers");
+
+
+ 5859 switch (m_object->m_type)
+
+
+
+ 5863 return (m_it.object_iterator == other.m_it.object_iterator);
+
+
+
+
+ 5868 return (m_it.array_iterator == other.m_it.array_iterator);
+
+
+
+
+ 5873 return (m_it.primitive_iterator == other.m_it.primitive_iterator);
+
+
+
+
+
+
+
+
+
+
+
+
+ 5888 if (m_object != other.m_object)
+
+ 5890 throw std::domain_error(
"cannot compare iterators of different containers");
+
+
+ 5893 switch (m_object->m_type)
+
+
+
+ 5897 throw std::domain_error(
"cannot compare order of object iterators");
+
+
+
+
+ 5902 return (m_it.array_iterator < other.m_it.array_iterator);
+
+
+
+
+ 5907 return (m_it.primitive_iterator < other.m_it.primitive_iterator);
+
+
+
+
+
+
+ 5915 return not other.operator < (*this);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5933 switch (m_object->m_type)
+
+
+
+ 5937 throw std::domain_error(
"cannot use offsets with object iterators");
+
+
+
+
+ 5942 m_it.array_iterator += i;
+
+
+
+
+
+ 5948 m_it.primitive_iterator += i;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5965 auto result = *
this;
+
+
+
-
- 5972 std::is_nothrow_move_constructible<pointer>::value and
- 5973 std::is_nothrow_move_assignable<pointer>::value and
- 5974 std::is_nothrow_move_constructible<internal_iterator>::value and
- 5975 std::is_nothrow_move_assignable<internal_iterator>::value
-
-
-
-
-
-
-
-
-
-
+
+
+ 5973 auto result = *
this;
+
+
+
+
+
+
+ 5981 switch (m_object->m_type)
+
+
+
+ 5985 throw std::domain_error(
"cannot use offsets with object iterators");
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6041 auto result = *
this;
-
-
-
-
-
-
- 6049 auto result = *
this;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6089 template<
typename Base>
- 6090 class json_reverse_iterator :
public std::reverse_iterator<Base>
-
-
-
-
-
-
-
-
-
-
-
-
- 6108 return base_iterator::operator++(1);
-
-
-
-
- 6114 base_iterator::operator++();
-
-
-
-
-
- 6121 return base_iterator::operator--(1);
+
+
+ 5990 return m_it.array_iterator - other.m_it.array_iterator;
+
+
+
+
+ 5995 return m_it.primitive_iterator - other.m_it.primitive_iterator;
+
+
+
+
+
+
+ 6003 switch (m_object->m_type)
+
+
+
+ 6007 throw std::domain_error(
"cannot use operator[] for object iterators");
+
+
+
+
+ 6012 return *(m_it.array_iterator + n);
+
+
+
+
+ 6017 throw std::out_of_range(
"cannot get value");
+
+
+
+
+ 6022 if (m_it.primitive_iterator == -n)
+
+
+
+
+
+ 6028 throw std::out_of_range(
"cannot get value");
+
+
+
+
+
+ 6035 typename object_t::key_type
key()
const
+
+ 6037 if (m_object->is_object())
+
+ 6039 return m_it.object_iterator->first;
+
+
+
+ 6043 throw std::domain_error(
"cannot use key() for non-object iterators");
+
+
+
+
+
+
+
+
+
+
+ 6057 internal_iterator m_it = internal_iterator();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6094 std::is_nothrow_move_constructible<pointer>::value and
+ 6095 std::is_nothrow_move_assignable<pointer>::value and
+ 6096 std::is_nothrow_move_constructible<internal_iterator>::value and
+ 6097 std::is_nothrow_move_assignable<internal_iterator>::value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
- 6127 base_iterator::operator--();
+
-
+
- 6134 base_iterator::operator+=(i);
-
-
-
-
-
- 6141 auto result = *
this;
-
-
+
+
+
+
+
+
+
+
+
-
-
- 6149 auto result = *
this;
-
-
-
-
-
-
- 6157 return this->base() - other.base();
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 6167 typename object_t::key_type
key()
const
-
- 6169 auto it = --this->base();
-
-
-
-
-
- 6176 auto it = --this->base();
- 6177 return it.operator * ();
-
-
+
+
+ 6163 auto result = *
this;
+
+
+
+
+
+
+ 6171 auto result = *
this;
+
+
+
+
+
+
+
+
-
-
- 6184 template<
typename IteratorType>
- 6185 class iteration_proxy
-
-
- 6189 class iteration_proxy_internal
-
-
- 6193 IteratorType anchor;
- 6195 size_t array_index = 0;
-
-
- 6198 iteration_proxy_internal(IteratorType it)
-
-
-
- 6203 iteration_proxy_internal& operator*()
-
-
-
-
- 6209 iteration_proxy_internal& operator++()
-
-
-
-
-
-
-
- 6218 bool operator!= (
const iteration_proxy_internal& o)
-
- 6220 return anchor != o.anchor;
-
-
-
-
- 6226 switch (anchor.m_object->type())
-
-
-
-
- 6231 return std::to_string(array_index);
-
-
-
-
-
- 6237 return anchor.key();
-
-
-
-
-
-
-
-
-
-
- 6249 typename IteratorType::reference
value()
const
-
- 6251 return anchor.value();
-
-
-
- 6256 typename IteratorType::reference container;
-
-
- 6260 iteration_proxy(
typename IteratorType::reference cont)
-
-
-
- 6265 iteration_proxy_internal
begin()
-
- 6267 return iteration_proxy_internal(container.begin());
-
-
- 6271 iteration_proxy_internal
end()
-
- 6273 return iteration_proxy_internal(container.end());
-
-
-
-
-
-
-
-
-
-
- 6294 enum class token_type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6313 using lexer_char_t =
unsigned char;
-
- 6316 explicit lexer(
const string_t& s) noexcept
- 6317 : m_stream(
nullptr), m_buffer(s)
-
- 6319 m_content =
reinterpret_cast<const lexer_char_t*
>(s.c_str());
- 6320 m_start = m_cursor = m_content;
- 6321 m_limit = m_content + s.size();
-
- 6323 explicit lexer(std::istream* s) noexcept
- 6324 : m_stream(s), m_buffer()
-
- 6326 getline(*m_stream, m_buffer);
- 6327 m_content =
reinterpret_cast<const lexer_char_t*
>(m_buffer.c_str());
- 6328 m_start = m_cursor = m_content;
- 6329 m_limit = m_content + m_buffer.size();
-
-
-
-
-
- 6336 lexer(
const lexer&) =
delete;
-
-
- 6350 static string_t to_unicode(
const std::size_t codepoint1,
- 6351 const std::size_t codepoint2 = 0)
-
-
-
-
- 6356 std::size_t codepoint = codepoint1;
-
-
- 6359 if (codepoint1 >= 0xD800 and codepoint1 <= 0xDBFF)
-
-
- 6362 if (codepoint2 >= 0xDC00 and codepoint2 <= 0xDFFF)
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6376 throw std::invalid_argument(
"missing or wrong low surrogate");
-
-
-
- 6380 if (codepoint < 0x80)
-
-
- 6383 result.append(1, static_cast<typename string_t::value_type>(codepoint));
-
- 6385 else if (codepoint <= 0x7ff)
-
-
- 6388 result.append(1, static_cast<typename string_t::value_type>(0xC0 | ((codepoint >> 6) & 0x1F)));
- 6389 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
-
- 6391 else if (codepoint <= 0xffff)
-
-
- 6394 result.append(1, static_cast<typename string_t::value_type>(0xE0 | ((codepoint >> 12) & 0x0F)));
- 6395 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
- 6396 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
-
- 6398 else if (codepoint <= 0x10ffff)
-
-
- 6401 result.append(1, static_cast<typename string_t::value_type>(0xF0 | ((codepoint >> 18) & 0x07)));
- 6402 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 12) & 0x3F)));
- 6403 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
- 6404 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
-
-
-
- 6408 throw std::out_of_range(
"code points above 0x10FFFF are invalid");
-
-
-
-
-
- 6415 static std::string token_type_name(token_type t)
-
-
-
- 6419 case token_type::uninitialized:
- 6420 return "<uninitialized>";
- 6421 case token_type::literal_true:
- 6422 return "true literal";
- 6423 case token_type::literal_false:
- 6424 return "false literal";
- 6425 case token_type::literal_null:
- 6426 return "null literal";
- 6427 case token_type::value_string:
- 6428 return "string literal";
- 6429 case token_type::value_number:
- 6430 return "number literal";
- 6431 case token_type::begin_array:
-
- 6433 case token_type::begin_object:
-
- 6435 case token_type::end_array:
-
- 6437 case token_type::end_object:
-
- 6439 case token_type::name_separator:
-
- 6441 case token_type::value_separator:
-
- 6443 case token_type::parse_error:
- 6444 return "<parse error>";
- 6445 case token_type::end_of_input:
- 6446 return "<end of input>";
-
-
-
- 6450 return "unknown token";
-
-
-
-
- 6465 token_type scan() noexcept
-
-
-
-
-
-
-
-
-
-
- 6476 unsigned int yyaccept = 0;
- 6477 static const unsigned char yybm[] =
+
+
+
+
+
+
+
+
+
+
+
+ 6211 template<
typename Base>
+ 6212 class json_reverse_iterator :
public std::reverse_iterator<Base>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6233 return base_iterator::operator++(1);
+
+
+
+
+ 6239 base_iterator::operator++();
+
+
+
+
+
+ 6246 return base_iterator::operator--(1);
+
+
+
+
+ 6252 base_iterator::operator--();
+
+
+
+
+
+ 6259 base_iterator::operator+=(i);
+
+
+
+
+
+ 6266 auto result = *
this;
+
+
+
+
+
+
+ 6274 auto result = *
this;
+
+
+
+
+
+
+ 6282 return this->base() - other.base();
+
+
+
+
+
+
+
+ 6292 typename object_t::key_type
key()
const
+
+ 6294 auto it = --this->base();
+
+
+
+
+
+ 6301 auto it = --this->base();
+ 6302 return it.operator * ();
+
+
+
+
+
+
+
+
+
+
+ 6323 enum class token_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6342 using lexer_char_t =
unsigned char;
+
+ 6345 explicit lexer(
const string_t& s) noexcept
+ 6346 : m_stream(
nullptr), m_buffer(s)
+
+ 6348 m_content =
reinterpret_cast<const lexer_char_t*
>(s.c_str());
+ 6349 m_start = m_cursor = m_content;
+ 6350 m_limit = m_content + s.size();
+
+ 6352 explicit lexer(std::istream* s) noexcept
+ 6353 : m_stream(s), m_buffer()
+
+ 6355 getline(*m_stream, m_buffer);
+ 6356 m_content =
reinterpret_cast<const lexer_char_t*
>(m_buffer.c_str());
+ 6357 m_start = m_cursor = m_content;
+ 6358 m_limit = m_content + m_buffer.size();
+
+
+
+
+
+ 6365 lexer(
const lexer&) =
delete;
+
+
+ 6380 static string_t to_unicode(
const std::size_t codepoint1,
+ 6381 const std::size_t codepoint2 = 0)
+
+
+
+
+ 6386 std::size_t codepoint = codepoint1;
+
+
+ 6389 if (codepoint1 >= 0xD800 and codepoint1 <= 0xDBFF)
+
+
+ 6392 if (codepoint2 >= 0xDC00 and codepoint2 <= 0xDFFF)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6406 throw std::invalid_argument(
"missing or wrong low surrogate");
+
+
+
+ 6410 if (codepoint < 0x80)
+
+
+ 6413 result.append(1, static_cast<typename string_t::value_type>(codepoint));
+
+ 6415 else if (codepoint <= 0x7ff)
+
+
+ 6418 result.append(1, static_cast<typename string_t::value_type>(0xC0 | ((codepoint >> 6) & 0x1F)));
+ 6419 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
+
+ 6421 else if (codepoint <= 0xffff)
+
+
+ 6424 result.append(1, static_cast<typename string_t::value_type>(0xE0 | ((codepoint >> 12) & 0x0F)));
+ 6425 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
+ 6426 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
+
+ 6428 else if (codepoint <= 0x10ffff)
+
+
+ 6431 result.append(1, static_cast<typename string_t::value_type>(0xF0 | ((codepoint >> 18) & 0x07)));
+ 6432 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 12) & 0x3F)));
+ 6433 result.append(1, static_cast<typename string_t::value_type>(0x80 | ((codepoint >> 6) & 0x3F)));
+ 6434 result.append(1, static_cast<typename string_t::value_type>(0x80 | (codepoint & 0x3F)));
+
+
+
+ 6438 throw std::out_of_range(
"code points above 0x10FFFF are invalid");
+
+
+
+
+
+ 6445 static std::string token_type_name(token_type t)
+
+
+
+ 6449 case token_type::uninitialized:
+ 6450 return "<uninitialized>";
+ 6451 case token_type::literal_true:
+ 6452 return "true literal";
+ 6453 case token_type::literal_false:
+ 6454 return "false literal";
+ 6455 case token_type::literal_null:
+ 6456 return "null literal";
+ 6457 case token_type::value_string:
+ 6458 return "string literal";
+ 6459 case token_type::value_number:
+ 6460 return "number literal";
+ 6461 case token_type::begin_array:
+
+ 6463 case token_type::begin_object:
+
+ 6465 case token_type::end_array:
+
+ 6467 case token_type::end_object:
+
+ 6469 case token_type::name_separator:
+
+ 6471 case token_type::value_separator:
+
+ 6473 case token_type::parse_error:
+ 6474 return "<parse error>";
+ 6475 case token_type::end_of_input:
+ 6476 return "end of input";
+
- 6479 0, 0, 0, 0, 0, 0, 0, 0,
- 6480 0, 32, 32, 0, 0, 32, 0, 0,
- 6481 64, 64, 64, 64, 64, 64, 64, 64,
- 6482 64, 64, 64, 64, 64, 64, 64, 64,
- 6483 96, 64, 0, 64, 64, 64, 64, 64,
- 6484 64, 64, 64, 64, 64, 64, 64, 64,
- 6485 192, 192, 192, 192, 192, 192, 192, 192,
- 6486 192, 192, 64, 64, 64, 64, 64, 64,
- 6487 64, 64, 64, 64, 64, 64, 64, 64,
- 6488 64, 64, 64, 64, 64, 64, 64, 64,
- 6489 64, 64, 64, 64, 64, 64, 64, 64,
- 6490 64, 64, 64, 64, 0, 64, 64, 64,
- 6491 64, 64, 64, 64, 64, 64, 64, 64,
- 6492 64, 64, 64, 64, 64, 64, 64, 64,
- 6493 64, 64, 64, 64, 64, 64, 64, 64,
- 6494 64, 64, 64, 64, 64, 64, 64, 64,
- 6495 64, 64, 64, 64, 64, 64, 64, 64,
- 6496 64, 64, 64, 64, 64, 64, 64, 64,
- 6497 64, 64, 64, 64, 64, 64, 64, 64,
- 6498 64, 64, 64, 64, 64, 64, 64, 64,
- 6499 64, 64, 64, 64, 64, 64, 64, 64,
- 6500 64, 64, 64, 64, 64, 64, 64, 64,
- 6501 64, 64, 64, 64, 64, 64, 64, 64,
- 6502 64, 64, 64, 64, 64, 64, 64, 64,
- 6503 64, 64, 64, 64, 64, 64, 64, 64,
- 6504 64, 64, 64, 64, 64, 64, 64, 64,
- 6505 64, 64, 64, 64, 64, 64, 64, 64,
- 6506 64, 64, 64, 64, 64, 64, 64, 64,
- 6507 64, 64, 64, 64, 64, 64, 64, 64,
- 6508 64, 64, 64, 64, 64, 64, 64, 64,
- 6509 64, 64, 64, 64, 64, 64, 64, 64,
- 6510 64, 64, 64, 64, 64, 64, 64, 64,
-
- 6512 if ((m_limit - m_cursor) < 5)
-
-
-
-
-
-
-
-
-
-
-
-
- 6525 goto basic_json_parser_28;
-
-
-
- 6529 goto basic_json_parser_30;
-
-
-
- 6533 goto basic_json_parser_4;
-
-
-
-
-
-
- 6540 goto basic_json_parser_2;
-
-
-
- 6544 goto basic_json_parser_30;
-
-
-
-
-
-
-
-
-
- 6554 goto basic_json_parser_27;
-
-
-
- 6558 goto basic_json_parser_30;
-
- 6560 goto basic_json_parser_16;
-
-
-
-
-
-
-
- 6568 goto basic_json_parser_23;
-
- 6570 goto basic_json_parser_30;
+
+ 6480 return "unknown token";
+
+
+
+
+ 6495 token_type scan() noexcept
+
+
+
+
+
+
+
+
+
+
+ 6506 unsigned int yyaccept = 0;
+ 6507 static const unsigned char yybm[] =
+
+ 6509 0, 0, 0, 0, 0, 0, 0, 0,
+ 6510 0, 32, 32, 0, 0, 32, 0, 0,
+ 6511 64, 64, 64, 64, 64, 64, 64, 64,
+ 6512 64, 64, 64, 64, 64, 64, 64, 64,
+ 6513 96, 64, 0, 64, 64, 64, 64, 64,
+ 6514 64, 64, 64, 64, 64, 64, 64, 64,
+ 6515 192, 192, 192, 192, 192, 192, 192, 192,
+ 6516 192, 192, 64, 64, 64, 64, 64, 64,
+ 6517 64, 64, 64, 64, 64, 64, 64, 64,
+ 6518 64, 64, 64, 64, 64, 64, 64, 64,
+ 6519 64, 64, 64, 64, 64, 64, 64, 64,
+ 6520 64, 64, 64, 64, 0, 64, 64, 64,
+ 6521 64, 64, 64, 64, 64, 64, 64, 64,
+ 6522 64, 64, 64, 64, 64, 64, 64, 64,
+ 6523 64, 64, 64, 64, 64, 64, 64, 64,
+ 6524 64, 64, 64, 64, 64, 64, 64, 64,
+ 6525 64, 64, 64, 64, 64, 64, 64, 64,
+ 6526 64, 64, 64, 64, 64, 64, 64, 64,
+ 6527 64, 64, 64, 64, 64, 64, 64, 64,
+ 6528 64, 64, 64, 64, 64, 64, 64, 64,
+ 6529 64, 64, 64, 64, 64, 64, 64, 64,
+ 6530 64, 64, 64, 64, 64, 64, 64, 64,
+ 6531 64, 64, 64, 64, 64, 64, 64, 64,
+ 6532 64, 64, 64, 64, 64, 64, 64, 64,
+ 6533 64, 64, 64, 64, 64, 64, 64, 64,
+ 6534 64, 64, 64, 64, 64, 64, 64, 64,
+ 6535 64, 64, 64, 64, 64, 64, 64, 64,
+ 6536 64, 64, 64, 64, 64, 64, 64, 64,
+ 6537 64, 64, 64, 64, 64, 64, 64, 64,
+ 6538 64, 64, 64, 64, 64, 64, 64, 64,
+ 6539 64, 64, 64, 64, 64, 64, 64, 64,
+ 6540 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 6542 if ((m_limit - m_cursor) < 5)
+
+
+
+
+
+
+
+
+
+
+
+
+ 6555 goto basic_json_parser_28;
+
+
+
+ 6559 goto basic_json_parser_30;
+
+
+
+ 6563 goto basic_json_parser_4;
+
+
+
+
+
+
+ 6570 goto basic_json_parser_2;
-
+
-
-
- 6576 goto basic_json_parser_24;
-
-
-
- 6580 goto basic_json_parser_26;
-
- 6582 goto basic_json_parser_18;
-
-
-
-
-
-
-
-
-
-
-
-
- 6595 goto basic_json_parser_8;
-
-
-
- 6599 goto basic_json_parser_30;
-
- 6601 goto basic_json_parser_10;
-
-
-
-
-
- 6607 goto basic_json_parser_22;
-
-
-
- 6611 goto basic_json_parser_30;
-
- 6613 goto basic_json_parser_20;
+ 6574 goto basic_json_parser_30;
+
+
+
+
+
+
+
+
+
+ 6584 goto basic_json_parser_27;
+
+
+
+ 6588 goto basic_json_parser_30;
+
+ 6590 goto basic_json_parser_16;
+
+
+
+
+
+
+
+ 6598 goto basic_json_parser_23;
+
+ 6600 goto basic_json_parser_30;
+
+
+
+
+
+ 6606 goto basic_json_parser_24;
+
+
+
+ 6610 goto basic_json_parser_26;
+
+ 6612 goto basic_json_parser_18;
+
-
-
-
-
-
-
- 6622 goto basic_json_parser_21;
-
-
-
- 6626 goto basic_json_parser_30;
-
- 6628 goto basic_json_parser_12;
-
-
-
-
-
-
-
- 6636 goto basic_json_parser_30;
-
- 6638 goto basic_json_parser_14;
-
-
-
-
-
- 6644 goto basic_json_parser_6;
-
- 6646 goto basic_json_parser_30;
-
-
-
-
- 6651 basic_json_parser_2:
-
-
- 6654 goto basic_json_parser_5;
- 6655 basic_json_parser_3:
-
-
-
- 6659 basic_json_parser_4:
-
- 6661 if (m_limit <= m_cursor)
-
-
-
-
- 6666 basic_json_parser_5:
- 6667 if (yybm[0 + yych] & 32)
-
- 6669 goto basic_json_parser_4;
-
- 6671 goto basic_json_parser_3;
- 6672 basic_json_parser_6:
-
- 6674 yych = *(m_marker = ++m_cursor);
-
-
- 6677 goto basic_json_parser_64;
-
- 6679 basic_json_parser_7:
-
- 6681 return token_type::parse_error;
-
- 6683 basic_json_parser_8:
-
-
- 6686 return token_type::begin_array;
-
- 6688 basic_json_parser_10:
-
-
- 6691 return token_type::end_array;
-
- 6693 basic_json_parser_12:
-
-
- 6696 return token_type::begin_object;
-
- 6698 basic_json_parser_14:
-
-
- 6701 return token_type::end_object;
-
- 6703 basic_json_parser_16:
-
-
- 6706 return token_type::value_separator;
-
- 6708 basic_json_parser_18:
-
+
+
+
+
+
+
+
+
+
+ 6625 goto basic_json_parser_8;
+
+
+
+ 6629 goto basic_json_parser_30;
+
+ 6631 goto basic_json_parser_10;
+
+
+
+
+
+ 6637 goto basic_json_parser_22;
+
+
+
+ 6641 goto basic_json_parser_30;
+
+ 6643 goto basic_json_parser_20;
+
+
+
+
+
+
+
+
+ 6652 goto basic_json_parser_21;
+
+
+
+ 6656 goto basic_json_parser_30;
+
+ 6658 goto basic_json_parser_12;
+
+
+
+
+
+
+
+ 6666 goto basic_json_parser_30;
+
+ 6668 goto basic_json_parser_14;
+
+
+
+
+
+ 6674 goto basic_json_parser_6;
+
+ 6676 goto basic_json_parser_30;
+
+
+
+
+ 6681 basic_json_parser_2:
+
+
+ 6684 goto basic_json_parser_5;
+ 6685 basic_json_parser_3:
+
+
+
+ 6689 basic_json_parser_4:
+
+ 6691 if (m_limit <= m_cursor)
+
+
+
+
+ 6696 basic_json_parser_5:
+ 6697 if (yybm[0 + yych] & 32)
+
+ 6699 goto basic_json_parser_4;
+
+ 6701 goto basic_json_parser_3;
+ 6702 basic_json_parser_6:
+
+ 6704 yych = *(m_marker = ++m_cursor);
+
+
+ 6707 goto basic_json_parser_64;
+
+ 6709 basic_json_parser_7:
- 6711 return token_type::name_separator;
+ 6711 return token_type::parse_error;
- 6713 basic_json_parser_20:
-
- 6715 yych = *(m_marker = ++m_cursor);
-
-
- 6718 goto basic_json_parser_60;
-
- 6720 goto basic_json_parser_7;
- 6721 basic_json_parser_21:
-
- 6723 yych = *(m_marker = ++m_cursor);
-
+ 6713 basic_json_parser_8:
+
+
+ 6716 return token_type::begin_array;
+
+ 6718 basic_json_parser_10:
+
+
+ 6721 return token_type::end_array;
+
+ 6723 basic_json_parser_12:
+
- 6726 goto basic_json_parser_56;
+ 6726 return token_type::begin_object;
- 6728 goto basic_json_parser_7;
- 6729 basic_json_parser_22:
-
- 6731 yych = *(m_marker = ++m_cursor);
-
-
- 6734 goto basic_json_parser_51;
-
- 6736 goto basic_json_parser_7;
- 6737 basic_json_parser_23:
-
-
+ 6728 basic_json_parser_14:
+
+
+ 6731 return token_type::end_object;
+
+ 6733 basic_json_parser_16:
+
+
+ 6736 return token_type::value_separator;
+
+ 6738 basic_json_parser_18:
+
- 6741 goto basic_json_parser_7;
+ 6741 return token_type::name_separator;
-
-
- 6745 goto basic_json_parser_50;
-
-
-
- 6749 goto basic_json_parser_41;
-
- 6751 goto basic_json_parser_7;
- 6752 basic_json_parser_24:
-
- 6754 yych = *(m_marker = ++m_cursor);
-
-
-
-
- 6759 goto basic_json_parser_43;
-
-
-
+ 6743 basic_json_parser_20:
+
+ 6745 yych = *(m_marker = ++m_cursor);
+
+
+ 6748 goto basic_json_parser_60;
+
+ 6750 goto basic_json_parser_7;
+ 6751 basic_json_parser_21:
+
+ 6753 yych = *(m_marker = ++m_cursor);
+
+
+ 6756 goto basic_json_parser_56;
+
+ 6758 goto basic_json_parser_7;
+ 6759 basic_json_parser_22:
+
+ 6761 yych = *(m_marker = ++m_cursor);
+
-
-
- 6766 goto basic_json_parser_44;
-
-
-
- 6770 goto basic_json_parser_44;
-
+ 6764 goto basic_json_parser_51;
+
+ 6766 goto basic_json_parser_7;
+ 6767 basic_json_parser_23:
+
+
+
+ 6771 goto basic_json_parser_7;
- 6773 basic_json_parser_25:
+
- 6775 return token_type::value_number;
+ 6775 goto basic_json_parser_50;
- 6777 basic_json_parser_26:
-
- 6779 yych = *(m_marker = ++m_cursor);
- 6780 goto basic_json_parser_42;
- 6781 basic_json_parser_27:
-
- 6783 yych = *(m_marker = ++m_cursor);
-
-
- 6786 goto basic_json_parser_7;
-
- 6788 goto basic_json_parser_32;
- 6789 basic_json_parser_28:
-
-
- 6792 return token_type::end_of_input;
-
- 6794 basic_json_parser_30:
-
- 6796 goto basic_json_parser_7;
- 6797 basic_json_parser_31:
-
- 6799 if (m_limit <= m_cursor)
-
-
+
+
+ 6779 goto basic_json_parser_41;
+
+ 6781 goto basic_json_parser_7;
+ 6782 basic_json_parser_24:
+
+ 6784 yych = *(m_marker = ++m_cursor);
+
+
+
+
+ 6789 goto basic_json_parser_43;
+
+
+
+
+
+
+ 6796 goto basic_json_parser_44;
+
+
+
+ 6800 goto basic_json_parser_44;
+
-
- 6804 basic_json_parser_32:
- 6805 if (yybm[0 + yych] & 64)
-
- 6807 goto basic_json_parser_31;
-
-
-
- 6811 goto basic_json_parser_33;
-
-
-
- 6815 goto basic_json_parser_35;
-
- 6817 goto basic_json_parser_34;
- 6818 basic_json_parser_33:
- 6819 m_cursor = m_marker;
-
+ 6803 basic_json_parser_25:
+
+ 6805 return token_type::value_number;
+
+ 6807 basic_json_parser_26:
+
+ 6809 yych = *(m_marker = ++m_cursor);
+ 6810 goto basic_json_parser_42;
+ 6811 basic_json_parser_27:
+
+ 6813 yych = *(m_marker = ++m_cursor);
+
+
+ 6816 goto basic_json_parser_7;
+
+ 6818 goto basic_json_parser_32;
+ 6819 basic_json_parser_28:
+
- 6822 goto basic_json_parser_7;
+ 6822 return token_type::end_of_input;
-
-
- 6826 goto basic_json_parser_25;
-
- 6828 basic_json_parser_34:
-
- 6830 if (m_limit <= m_cursor)
-
-
-
-
-
+ 6824 basic_json_parser_30:
+
+ 6826 goto basic_json_parser_7;
+ 6827 basic_json_parser_31:
+
+ 6829 if (m_limit <= m_cursor)
+
+
+
+
+ 6834 basic_json_parser_32:
+ 6835 if (yybm[0 + yych] & 64)
-
-
-
-
- 6841 goto basic_json_parser_31;
-
-
-
- 6845 goto basic_json_parser_33;
-
- 6847 goto basic_json_parser_31;
-
-
-
-
-
-
-
- 6855 goto basic_json_parser_33;
-
- 6857 goto basic_json_parser_31;
-
-
-
-
-
- 6863 goto basic_json_parser_31;
-
- 6865 goto basic_json_parser_33;
-
-
-
-
-
-
-
-
+ 6837 goto basic_json_parser_31;
+
+
+
+ 6841 goto basic_json_parser_33;
+
+
+
+ 6845 goto basic_json_parser_35;
+
+ 6847 goto basic_json_parser_34;
+ 6848 basic_json_parser_33:
+ 6849 m_cursor = m_marker;
+
+
+ 6852 goto basic_json_parser_7;
+
+
+
+ 6856 goto basic_json_parser_25;
+
+ 6858 basic_json_parser_34:
+
+ 6860 if (m_limit <= m_cursor)
+
+
+
+
+
+
+
+
+
+
+ 6871 goto basic_json_parser_31;
+
+
- 6875 goto basic_json_parser_31;
+ 6875 goto basic_json_parser_33;
-
-
- 6879 goto basic_json_parser_31;
-
- 6881 goto basic_json_parser_33;
-
-
-
-
-
-
-
- 6889 goto basic_json_parser_31;
-
- 6891 goto basic_json_parser_33;
-
-
-
-
-
- 6897 goto basic_json_parser_31;
-
-
-
- 6901 goto basic_json_parser_37;
-
- 6903 goto basic_json_parser_33;
-
-
-
- 6907 basic_json_parser_35:
-
-
- 6910 return token_type::value_string;
-
- 6912 basic_json_parser_37:
-
- 6914 if (m_limit <= m_cursor)
-
-
-
-
-
-
-
-
- 6923 goto basic_json_parser_33;
-
-
-
- 6927 goto basic_json_parser_33;
-
-
-
-
-
-
- 6934 goto basic_json_parser_38;
+ 6877 goto basic_json_parser_31;
+
+
+
+
+
+
+
+ 6885 goto basic_json_parser_33;
+
+ 6887 goto basic_json_parser_31;
+
+
+
+
+
+ 6893 goto basic_json_parser_31;
+
+ 6895 goto basic_json_parser_33;
+
+
+
+
+
+
+
+
+
+ 6905 goto basic_json_parser_31;
+
+
+
+ 6909 goto basic_json_parser_31;
+
+ 6911 goto basic_json_parser_33;
+
+
+
+
+
+
+
+ 6919 goto basic_json_parser_31;
+
+ 6921 goto basic_json_parser_33;
+
+
+
+
+
+ 6927 goto basic_json_parser_31;
+
+
+
+ 6931 goto basic_json_parser_37;
+
+ 6933 goto basic_json_parser_33;
+
-
-
- 6938 goto basic_json_parser_33;
-
-
-
- 6942 goto basic_json_parser_33;
-
-
- 6945 basic_json_parser_38:
-
- 6947 if (m_limit <= m_cursor)
-
-
-
-
-
-
-
-
- 6956 goto basic_json_parser_33;
-
-
-
- 6960 goto basic_json_parser_33;
-
-
-
-
-
-
- 6967 goto basic_json_parser_39;
-
-
-
- 6971 goto basic_json_parser_33;
-
-
-
- 6975 goto basic_json_parser_33;
-
-
- 6978 basic_json_parser_39:
-
- 6980 if (m_limit <= m_cursor)
-
-
-
-
-
-
-
-
- 6989 goto basic_json_parser_33;
-
-
-
- 6993 goto basic_json_parser_33;
-
-
-
-
-
-
- 7000 goto basic_json_parser_40;
-
-
-
- 7004 goto basic_json_parser_33;
-
-
-
- 7008 goto basic_json_parser_33;
-
-
- 7011 basic_json_parser_40:
-
- 7013 if (m_limit <= m_cursor)
-
-
-
-
-
-
-
-
- 7022 goto basic_json_parser_33;
-
-
-
- 7026 goto basic_json_parser_31;
-
- 7028 goto basic_json_parser_33;
-
-
-
-
+
+ 6937 basic_json_parser_35:
+
+
+ 6940 return token_type::value_string;
+
+ 6942 basic_json_parser_37:
+
+ 6944 if (m_limit <= m_cursor)
+
+
+
+
+
+
+
+
+ 6953 goto basic_json_parser_33;
+
+
+
+ 6957 goto basic_json_parser_33;
+
+
+
+
+
+
+ 6964 goto basic_json_parser_38;
+
+
+
+ 6968 goto basic_json_parser_33;
+
+
+
+ 6972 goto basic_json_parser_33;
+
+
+ 6975 basic_json_parser_38:
+
+ 6977 if (m_limit <= m_cursor)
+
+
+
+
+
+
+
+
+ 6986 goto basic_json_parser_33;
+
+
+
+ 6990 goto basic_json_parser_33;
+
+
+
+
+
+
+ 6997 goto basic_json_parser_39;
+
+
+
+ 7001 goto basic_json_parser_33;
+
+
+
+ 7005 goto basic_json_parser_33;
+
+
+ 7008 basic_json_parser_39:
+
+ 7010 if (m_limit <= m_cursor)
+
+
+
+
+
+
+
+
+ 7019 goto basic_json_parser_33;
+
+
+
+ 7023 goto basic_json_parser_33;
+
+
+
+
+
+
+ 7030 goto basic_json_parser_40;
+
+
- 7034 goto basic_json_parser_31;
+ 7034 goto basic_json_parser_33;
-
+
7038 goto basic_json_parser_33;
-
-
- 7042 goto basic_json_parser_31;
-
- 7044 goto basic_json_parser_33;
-
- 7046 basic_json_parser_41:
-
- 7048 m_marker = ++m_cursor;
- 7049 if ((m_limit - m_cursor) < 3)
-
-
-
-
- 7054 basic_json_parser_42:
- 7055 if (yybm[0 + yych] & 128)
-
- 7057 goto basic_json_parser_41;
-
-
-
-
-
- 7063 goto basic_json_parser_25;
-
-
-
-
-
-
- 7070 goto basic_json_parser_44;
-
-
-
- 7074 goto basic_json_parser_44;
-
- 7076 goto basic_json_parser_25;
-
- 7078 basic_json_parser_43:
-
-
-
- 7082 goto basic_json_parser_33;
-
-
-
- 7086 goto basic_json_parser_48;
-
- 7088 goto basic_json_parser_33;
- 7089 basic_json_parser_44:
-
-
-
-
-
- 7095 goto basic_json_parser_33;
-
-
-
-
-
-
- 7102 goto basic_json_parser_45;
-
-
-
- 7106 goto basic_json_parser_33;
-
-
-
- 7110 goto basic_json_parser_46;
-
+
+ 7041 basic_json_parser_40:
+
+ 7043 if (m_limit <= m_cursor)
+
+
+
+
+
+
+
+
+ 7052 goto basic_json_parser_33;
+
+
+
+ 7056 goto basic_json_parser_31;
+
+ 7058 goto basic_json_parser_33;
+
+
+
+
+
+ 7064 goto basic_json_parser_31;
+
+
+
+ 7068 goto basic_json_parser_33;
+
+
+
+ 7072 goto basic_json_parser_31;
+
+ 7074 goto basic_json_parser_33;
+
+ 7076 basic_json_parser_41:
+
+ 7078 m_marker = ++m_cursor;
+ 7079 if ((m_limit - m_cursor) < 3)
+
+
+
+
+ 7084 basic_json_parser_42:
+ 7085 if (yybm[0 + yych] & 128)
+
+ 7087 goto basic_json_parser_41;
+
+
+
+
+
+ 7093 goto basic_json_parser_25;
+
+
+
+
+
+
+ 7100 goto basic_json_parser_44;
+
+
+
+ 7104 goto basic_json_parser_44;
+
+ 7106 goto basic_json_parser_25;
+
+ 7108 basic_json_parser_43:
+
+
+
7112 goto basic_json_parser_33;
- 7114 basic_json_parser_45:
-
-
-
- 7118 goto basic_json_parser_33;
-
-
-
- 7122 goto basic_json_parser_33;
-
- 7124 basic_json_parser_46:
-
- 7126 if (m_limit <= m_cursor)
-
-
-
-
-
-
- 7133 goto basic_json_parser_25;
-
-
-
- 7137 goto basic_json_parser_46;
-
- 7139 goto basic_json_parser_25;
- 7140 basic_json_parser_48:
-
- 7142 m_marker = ++m_cursor;
- 7143 if ((m_limit - m_cursor) < 3)
-
-
-
-
-
-
-
-
- 7152 goto basic_json_parser_25;
-
-
-
- 7156 goto basic_json_parser_48;
-
- 7158 goto basic_json_parser_25;
+
+
+ 7116 goto basic_json_parser_48;
+
+ 7118 goto basic_json_parser_33;
+ 7119 basic_json_parser_44:
+
+
+
+
+
+ 7125 goto basic_json_parser_33;
+
+
+
+
+
+
+ 7132 goto basic_json_parser_45;
+
+
+
+ 7136 goto basic_json_parser_33;
+
+
+
+ 7140 goto basic_json_parser_46;
+
+ 7142 goto basic_json_parser_33;
+
+ 7144 basic_json_parser_45:
+
+
+
+ 7148 goto basic_json_parser_33;
+
+
+
+ 7152 goto basic_json_parser_33;
+
+ 7154 basic_json_parser_46:
+
+ 7156 if (m_limit <= m_cursor)
+
+
-
-
-
-
- 7164 goto basic_json_parser_44;
-
-
-
- 7168 goto basic_json_parser_44;
-
- 7170 goto basic_json_parser_25;
-
- 7172 basic_json_parser_50:
-
- 7174 yych = *(m_marker = ++m_cursor);
-
-
-
-
- 7179 goto basic_json_parser_43;
-
- 7181 goto basic_json_parser_25;
-
-
-
-
-
- 7187 goto basic_json_parser_44;
-
-
-
- 7191 goto basic_json_parser_44;
-
- 7193 goto basic_json_parser_25;
-
- 7195 basic_json_parser_51:
-
-
-
- 7199 goto basic_json_parser_33;
-
-
-
-
- 7204 goto basic_json_parser_33;
-
-
-
-
- 7209 goto basic_json_parser_33;
-
-
-
- 7213 return token_type::literal_false;
-
- 7215 basic_json_parser_56:
-
-
-
- 7219 goto basic_json_parser_33;
-
-
-
-
- 7224 goto basic_json_parser_33;
-
-
-
- 7228 return token_type::literal_true;
-
- 7230 basic_json_parser_60:
+
+
+
+ 7163 goto basic_json_parser_25;
+
+
+
+ 7167 goto basic_json_parser_46;
+
+ 7169 goto basic_json_parser_25;
+ 7170 basic_json_parser_48:
+
+ 7172 m_marker = ++m_cursor;
+ 7173 if ((m_limit - m_cursor) < 3)
+
+
+
+
+
+
+
+
+ 7182 goto basic_json_parser_25;
+
+
+
+ 7186 goto basic_json_parser_48;
+
+ 7188 goto basic_json_parser_25;
+
+
+
+
+
+ 7194 goto basic_json_parser_44;
+
+
+
+ 7198 goto basic_json_parser_44;
+
+ 7200 goto basic_json_parser_25;
+
+ 7202 basic_json_parser_50:
+
+ 7204 yych = *(m_marker = ++m_cursor);
+
+
+
+
+ 7209 goto basic_json_parser_43;
+
+ 7211 goto basic_json_parser_25;
+
+
+
+
+
+ 7217 goto basic_json_parser_44;
+
+
+
+ 7221 goto basic_json_parser_44;
+
+ 7223 goto basic_json_parser_25;
+
+ 7225 basic_json_parser_51:
+
+
+
+ 7229 goto basic_json_parser_33;
+
-
+
7234 goto basic_json_parser_33;
-
+
7239 goto basic_json_parser_33;
- 7243 return token_type::literal_null;
+ 7243 return token_type::literal_false;
- 7245 basic_json_parser_64:
+ 7245 basic_json_parser_56:
-
+
7249 goto basic_json_parser_33;
-
-
-
-
-
-
-
-
-
- 7261 void yyfill() noexcept
-
- 7263 if (not m_stream or not * m_stream)
-
-
-
-
- 7268 const ssize_t offset_start = m_start - m_content;
- 7269 const ssize_t offset_marker = m_marker - m_start;
- 7270 const ssize_t offset_cursor = m_cursor - m_start;
-
- 7272 m_buffer.erase(0, static_cast<size_t>(offset_start));
-
- 7274 std::getline(*m_stream, line);
- 7275 m_buffer +=
"\n" + line;
-
- 7277 m_content =
reinterpret_cast<const lexer_char_t*
>(m_buffer.c_str());
- 7278 m_start = m_content;
- 7279 m_marker = m_start + offset_marker;
- 7280 m_cursor = m_start + offset_cursor;
- 7281 m_limit = m_start + m_buffer.size() - 1;
-
-
- 7285 string_t get_token() const noexcept
-
- 7287 return string_t(reinterpret_cast<typename string_t::const_pointer>(m_start),
- 7288 static_cast<size_t>(m_cursor - m_start));
-
-
-
-
-
- 7315 result.reserve(static_cast<size_t>(m_cursor - m_start - 2));
-
-
- 7318 for (
const lexer_char_t* i = m_start + 1; i < m_cursor - 1; ++i)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 7254 goto basic_json_parser_33;
+
+
+
+ 7258 return token_type::literal_true;
+
+ 7260 basic_json_parser_60:
+
+
+
+ 7264 goto basic_json_parser_33;
+
+
+
+
+ 7269 goto basic_json_parser_33;
+
+
+
+ 7273 return token_type::literal_null;
+
+ 7275 basic_json_parser_64:
+
+
+
+ 7279 goto basic_json_parser_33;
+
+
+
+
+
+
+
+
+
+
+ 7291 void yyfill() noexcept
+
+ 7293 if (not m_stream or not * m_stream)
+
+
+
+
+ 7298 const ssize_t offset_start = m_start - m_content;
+ 7299 const ssize_t offset_marker = m_marker - m_start;
+ 7300 const ssize_t offset_cursor = m_cursor - m_start;
+
+ 7302 m_buffer.erase(0, static_cast<size_t>(offset_start));
+
+ 7304 std::getline(*m_stream, line);
+ 7305 m_buffer +=
"\n" + line;
+
+ 7307 m_content =
reinterpret_cast<const lexer_char_t*
>(m_buffer.c_str());
+ 7308 m_start = m_content;
+ 7309 m_marker = m_start + offset_marker;
+ 7310 m_cursor = m_start + offset_cursor;
+ 7311 m_limit = m_start + m_buffer.size() - 1;
+
+
+ 7315 string_t get_token() const noexcept
+
+ 7317 return string_t(reinterpret_cast<typename string_t::const_pointer>(m_start),
+ 7318 static_cast<size_t>(m_cursor - m_start));
+
+
+
+
+
+ 7345 result.reserve(static_cast<size_t>(m_cursor - m_start - 2));
+
+
+ 7348 for (
const lexer_char_t* i = m_start + 1; i < m_cursor - 1; ++i)
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
-
-
-
- 7374 auto codepoint = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>(i + 1),
- 7375 4).c_str(),
nullptr, 16);
-
-
- 7378 if (codepoint >= 0xD800 and codepoint <= 0xDBFF)
-
-
- 7381 if ((i + 6 >= m_limit) or * (i + 5) !=
'\\' or * (i + 6) !=
'u')
-
- 7383 throw std::invalid_argument(
"missing low surrogate");
-
-
-
- 7387 auto codepoint2 = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>
- 7388 (i + 7), 4).c_str(),
nullptr, 16);
- 7389 result += to_unicode(codepoint, codepoint2);
-
-
-
-
-
-
- 7396 result += to_unicode(codepoint);
-
-
-
-
-
-
-
-
-
-
-
- 7408 result.append(1, static_cast<typename string_t::value_type>(*i));
-
-
-
-
-
-
- 7432 long double get_number()
const
-
-
- 7435 typename string_t::value_type* endptr;
- 7436 const auto float_val = std::strtold(reinterpret_cast<typename string_t::const_pointer>(m_start),
-
-
-
-
- 7441 return (reinterpret_cast<lexer_char_t*>(endptr) == m_cursor) ? float_val : NAN;
-
-
-
- 7446 std::istream* m_stream;
-
- 7450 const lexer_char_t* m_content =
nullptr;
- 7452 const lexer_char_t* m_start =
nullptr;
- 7454 const lexer_char_t* m_marker =
nullptr;
- 7456 const lexer_char_t* m_cursor =
nullptr;
- 7458 const lexer_char_t* m_limit =
nullptr;
-
-
-
-
-
-
- 7471 : callback(cb), m_lexer(s)
-
-
-
-
-
-
- 7479 : callback(cb), m_lexer(&_is)
-
-
-
-
-
-
-
- 7488 basic_json result = parse_internal(
true);
-
- 7490 expect(lexer::token_type::end_of_input);
-
-
-
- 7494 return result.is_discarded() ?
basic_json() : result;
-
-
-
- 7499 basic_json parse_internal(
bool keep)
-
-
-
-
-
- 7505 case lexer::token_type::begin_object:
-
-
-
-
-
-
-
-
-
-
-
-
- 7518 if (last_token == lexer::token_type::end_object)
-
-
-
-
-
-
-
-
-
-
- 7529 unexpect(lexer::token_type::value_separator);
-
-
-
-
-
- 7535 if (last_token == lexer::token_type::value_separator)
-
-
-
-
-
- 7541 expect(lexer::token_type::value_string);
- 7542 const auto key = m_lexer.get_string();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7404 auto codepoint = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>(i + 1),
+ 7405 4).c_str(),
nullptr, 16);
+
+
+ 7408 if (codepoint >= 0xD800 and codepoint <= 0xDBFF)
+
+
+ 7411 if ((i + 6 >= m_limit) or * (i + 5) !=
'\\' or * (i + 6) !=
'u')
+
+ 7413 throw std::invalid_argument(
"missing low surrogate");
+
+
+
+ 7417 auto codepoint2 = std::strtoul(std::string(reinterpret_cast<typename string_t::const_pointer>
+ 7418 (i + 7), 4).c_str(),
nullptr, 16);
+ 7419 result += to_unicode(codepoint, codepoint2);
+
+
+
+
+
+
+ 7426 result += to_unicode(codepoint);
+
+
+
+
+
+
+
+
+
+
+
+ 7438 result.append(1, static_cast<typename string_t::value_type>(*i));
+
+
+
+
+
+
+ 7462 long double get_number()
const
+
+
+ 7465 typename string_t::value_type* endptr;
+ 7466 const auto float_val = std::strtold(reinterpret_cast<typename string_t::const_pointer>(m_start),
+
+
+
+
+ 7471 return (reinterpret_cast<lexer_char_t*>(endptr) == m_cursor) ? float_val : NAN;
+
+
+
+ 7476 std::istream* m_stream;
+
+ 7480 const lexer_char_t* m_content =
nullptr;
+ 7482 const lexer_char_t* m_start =
nullptr;
+ 7484 const lexer_char_t* m_marker =
nullptr;
+ 7486 const lexer_char_t* m_cursor =
nullptr;
+ 7488 const lexer_char_t* m_limit =
nullptr;
+
+
+
+
+
+
+ 7501 : callback(cb), m_lexer(s)
+
+
+
+
+
+
+ 7509 : callback(cb), m_lexer(&_is)
+
+
+
+
+
+
+
+ 7518 basic_json result = parse_internal(
true);
+
+ 7520 expect(lexer::token_type::end_of_input);
+
+
+
+ 7524 return result.is_discarded() ?
basic_json() : result;
+
+
+
+ 7529 basic_json parse_internal(
bool keep)
+
+
+
+
+
+ 7535 case lexer::token_type::begin_object:
+
+
+
+
+
+
+
- 7544 bool keep_tag =
false;
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 7548 if (last_token == lexer::token_type::end_object)
+
+
+
+
+
+
+
+
-
-
- 7560 expect(lexer::token_type::name_separator);
-
-
-
- 7564 auto value = parse_internal(keep);
- 7565 if (keep and keep_tag and not
value.is_discarded())
+
+ 7559 unexpect(lexer::token_type::value_separator);
+
+
+
+
+
+ 7565 if (last_token == lexer::token_type::value_separator)
- 7567 result[key] = std::move(
value);
+
-
- 7570 while (last_token == lexer::token_type::value_separator);
-
-
- 7573 expect(lexer::token_type::end_object);
-
-
-
-
-
-
-
-
-
- 7583 case lexer::token_type::begin_array:
-
-
-
-
-
-
-
+
+
+ 7571 expect(lexer::token_type::value_string);
+ 7572 const auto key = m_lexer.get_string();
+
+ 7574 bool keep_tag =
false;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7590 expect(lexer::token_type::name_separator);
-
-
-
-
- 7596 if (last_token == lexer::token_type::end_array)
-
-
-
-
-
-
-
-
-
-
- 7607 unexpect(lexer::token_type::value_separator);
-
-
-
-
-
- 7613 if (last_token == lexer::token_type::value_separator)
-
-
-
-
-
- 7619 auto value = parse_internal(keep);
- 7620 if (keep and not
value.is_discarded())
-
- 7622 result.push_back(std::move(
value));
-
-
- 7625 while (last_token == lexer::token_type::value_separator);
-
-
- 7628 expect(lexer::token_type::end_array);
-
-
-
-
-
-
-
-
-
- 7638 case lexer::token_type::literal_null:
-
-
-
-
-
-
- 7645 case lexer::token_type::value_string:
-
- 7647 const auto s = m_lexer.get_string();
-
-
-
-
-
- 7653 case lexer::token_type::literal_true:
-
-
-
- 7657 result.m_value =
true;
-
-
-
- 7661 case lexer::token_type::literal_false:
-
-
-
- 7665 result.m_value =
false;
-
-
-
- 7669 case lexer::token_type::value_number:
-
- 7671 auto float_val = m_lexer.get_number();
-
-
-
- 7675 if (std::isnan(float_val))
-
- 7677 throw std::invalid_argument(std::string(
"parse error - ") +
- 7678 m_lexer.get_token() +
" is not a number");
-
-
-
+
+
+ 7594 auto value = parse_internal(keep);
+ 7595 if (keep and keep_tag and not
value.is_discarded())
+
+ 7597 result[key] = std::move(
value);
+
+
+ 7600 while (last_token == lexer::token_type::value_separator);
+
+
+ 7603 expect(lexer::token_type::end_object);
+
+
+
+
+
+
+
+
+
+ 7613 case lexer::token_type::begin_array:
+
+
+
+
+
+
+
+
+
+
+
+
+ 7626 if (last_token == lexer::token_type::end_array)
+
+
+
+
+
+
+
+
+
+
+ 7637 unexpect(lexer::token_type::value_separator);
+
+
+
+
+
+ 7643 if (last_token == lexer::token_type::value_separator)
+
+
+
+
+
+ 7649 auto value = parse_internal(keep);
+ 7650 if (keep and not
value.is_discarded())
+
+ 7652 result.push_back(std::move(
value));
+
+
+ 7655 while (last_token == lexer::token_type::value_separator);
+
+
+ 7658 expect(lexer::token_type::end_array);
+
+
+
+
+
+
+
+
+
+ 7668 case lexer::token_type::literal_null:
+
+
+
+
+
+
+ 7675 case lexer::token_type::value_string:
+
+ 7677 const auto s = m_lexer.get_string();
+
+
+
+
-
-
- 7685 if (approx(float_val, static_cast<long double>(int_val)))
-
-
-
- 7689 result.m_value = int_val;
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7703 unexpect(last_token);
-
-
-
-
-
-
-
-
-
-
- 7715 typename lexer::token_type get_token()
-
- 7717 last_token = m_lexer.scan();
-
-
-
- 7721 void expect(
typename lexer::token_type t)
const
-
- 7723 if (t != last_token)
-
- 7725 std::string error_msg =
"parse error - unexpected \'";
- 7726 error_msg += m_lexer.get_token();
- 7727 error_msg +=
"\' (" + lexer::token_type_name(last_token);
- 7728 error_msg +=
"); expected " + lexer::token_type_name(t);
- 7729 throw std::invalid_argument(error_msg);
-
-
-
- 7733 void unexpect(
typename lexer::token_type t)
const
-
- 7735 if (t == last_token)
-
- 7737 std::string error_msg =
"parse error - unexpected \'";
- 7738 error_msg += m_lexer.get_token();
- 7739 error_msg +=
"\' (";
- 7740 error_msg += lexer::token_type_name(last_token) +
")";
- 7741 throw std::invalid_argument(error_msg);
-
-
-
-
-
-
- 7751 typename lexer::token_type last_token = lexer::token_type::uninitialized;
-
-
-
-
-
-
-
-
-
-
+ 7683 case lexer::token_type::literal_true:
+
+
+
+ 7687 result.m_value =
true;
+
+
+
+ 7691 case lexer::token_type::literal_false:
+
+
+
+ 7695 result.m_value =
false;
+
+
+
+ 7699 case lexer::token_type::value_number:
+
+ 7701 auto float_val = m_lexer.get_number();
+
+
+
+ 7705 if (std::isnan(float_val))
+
+ 7707 throw std::invalid_argument(std::string(
"parse error - ") +
+ 7708 m_lexer.get_token() +
" is not a number");
+
+
+
+
+
+
+ 7715 if (approx(float_val, static_cast<long double>(int_val)))
+
+
+
+ 7719 result.m_value = int_val;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7733 unexpect(last_token);
+
+
+
+
+
+
+
+
+
+
+ 7745 typename lexer::token_type get_token()
+
+ 7747 last_token = m_lexer.scan();
+
+
+
+ 7751 void expect(
typename lexer::token_type t)
const
+
+ 7753 if (t != last_token)
+
+ 7755 std::string error_msg =
"parse error - unexpected ";
+ 7756 error_msg += (last_token == lexer::token_type::parse_error ? (
"'" + m_lexer.get_token() +
"'") :
+ 7757 lexer::token_type_name(last_token));
+ 7758 error_msg +=
"; expected " + lexer::token_type_name(t);
+ 7759 throw std::invalid_argument(error_msg);
+
+
+
+ 7763 void unexpect(
typename lexer::token_type t)
const
+
+ 7765 if (t == last_token)
+
+ 7767 std::string error_msg =
"parse error - unexpected ";
+ 7768 error_msg += (last_token == lexer::token_type::parse_error ? (
"'" + m_lexer.get_token() +
"'") :
+ 7769 lexer::token_type_name(last_token));
+ 7770 throw std::invalid_argument(error_msg);
+
+
-
-
-
-
-
-
-
-
- 7789 is_nothrow_move_constructible<nlohmann::json>::value and
- 7790 is_nothrow_move_assignable<nlohmann::json>::value
-
-
-
-
-
-
-
-
-
-
-
- 7808 const auto& h = hash<nlohmann::json::string_t>();
-
-
-
-
-
- 7826 inline nlohmann::json operator "" _json(
const char* s, std::size_t)
-
-
- 7829 (const_cast<char*>(s)));
-
-
-
+
+
+
+ 7780 typename lexer::token_type last_token = lexer::token_type::uninitialized;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 7818 is_nothrow_move_constructible<nlohmann::json>::value and
+ 7819 is_nothrow_move_assignable<nlohmann::json>::value
+
+
+
+
+
+
+
+
+
+
+
+ 7837 const auto& h = hash<nlohmann::json::string_t>();
+
+
+
+
+
+ 7855 inline nlohmann::json operator "" _json(
const char* s, std::size_t)
+
+
+ 7858 (const_cast<char*>(s)));
+
+
+
json_reverse_iterator< typename basic_json::iterator > reverse_iterator
a reverse iterator for a basic_json container
-bool operator!=(const const_iterator &other) const
comparison: not equal
-iterator insert(const_iterator pos, basic_json &&val)
inserts element
-iterator operator++(int)
post-increment (it++)
-friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
comparison: less than or equal
+bool operator!=(const const_iterator &other) const
comparison: not equal
+iterator insert(const_iterator pos, basic_json &&val)
inserts element
+iterator operator++(int)
post-increment (it++)
+friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
comparison: less than or equal
typename std::allocator_traits< allocator_type >::pointer pointer
the type of an element pointer
-json_reverse_iterator operator-(difference_type i) const
subtract from iterator
-static basic_json object(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an object from an initializer list
-const_reference operator[](size_type idx) const
access specified array element
-reference operator[](const T(&key)[n])
access specified object element
-typename basic_json::const_pointer pointer
defines a pointer to the type iterated over (value_type)
-static iteration_proxy< iterator > iterator_wrapper(reference cont)
wrapper to access iterator member functions in range-based for
-const_iterator & operator--()
pre-decrement (–it)
-friend std::istream & operator>>(std::istream &i, basic_json &j)
deserialize from stream
-const_iterator & operator=(const_iterator other) noexcept( std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value )
copy assignment
-typename basic_json::value_type value_type
the type of the values when the iterator is dereferenced
-reference & operator=(basic_json other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
copy assignment
-iterator insert(const_iterator pos, const_iterator first, const_iterator last)
inserts elements
-iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
inserts elements
-json_reverse_iterator operator--(int)
post-decrement (it–)
+json_reverse_iterator operator-(difference_type i) const
subtract from iterator
+static basic_json object(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an object from an initializer list
+const_reference operator[](size_type idx) const
access specified array element
+reference operator[](const T(&key)[n])
access specified object element
+typename basic_json::const_pointer pointer
defines a pointer to the type iterated over (value_type)
+static iteration_proxy< iterator > iterator_wrapper(reference cont)
wrapper to access iterator member functions in range-based for
+const_iterator & operator--()
pre-decrement (–it)
+friend std::istream & operator>>(std::istream &i, basic_json &j)
deserialize from stream
+const_iterator & operator=(const_iterator other) noexcept( std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value )
copy assignment
+typename basic_json::value_type value_type
the type of the values when the iterator is dereferenced
+reference & operator=(basic_json other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
copy assignment
+iterator insert(const_iterator pos, const_iterator first, const_iterator last)
inserts elements
+iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
inserts elements
+json_reverse_iterator operator--(int)
post-decrement (it–)
StringType string_t
a type for a string
-void push_back(const typename object_t::value_type &val)
add an object to an object
+void push_back(const typename object_t::value_type &val)
add an object to an object
basic_json(boolean_t val)
create a boolean (explicit)
-static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
-iterator & operator++()
pre-increment (++it)
-friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
comparison: not equal
+static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
+iterator & operator++()
pre-increment (++it)
+friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
comparison: not equal
ArrayType< basic_json, AllocatorType< basic_json >> array_t
a type for an array
-const_iterator & operator++()
pre-increment (++it)
-difference_type operator-(const json_reverse_iterator &other) const
return difference
-basic_json<> json
default JSON class
-reference front()
access the first element
-bool is_array() const noexcept
return whether value is an array
-const_iterator find(typename object_t::key_type key) const
find an element in a JSON object
-std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adaptor
-json_reverse_iterator(const typename base_iterator::iterator_type &it)
create reverse iterator from iterator
+const_iterator & operator++()
pre-increment (++it)
+difference_type operator-(const json_reverse_iterator &other) const
return difference
+basic_json<> json
default JSON class
+reference front()
access the first element
+bool is_array() const noexcept
return whether value is an array
+const_iterator find(typename object_t::key_type key) const
find an element in a JSON object
+std::reverse_iterator< Base > base_iterator
shortcut to the reverse iterator adaptor
+json_reverse_iterator(const typename base_iterator::iterator_type &it)
create reverse iterator from iterator
a class to store JSON values
-json_reverse_iterator & operator--()
pre-decrement (–it)
+json_reverse_iterator & operator--()
pre-decrement (–it)
basic_json(const object_t &val)
create an object (explicit)
-friend bool operator==(std::nullptr_t, const_reference v) noexcept
comparison: equal
-void push_back(basic_json &&val)
add an object to an array
-const_iterator cbegin() const
returns a const iterator to the first element
-bool is_string() const noexcept
return whether value is a string
-iterator & operator+=(difference_type i)
add to iterator
-const PointerType get_ptr() const noexcept
get a pointer value (implicit)
+friend bool operator==(std::nullptr_t, const_reference v) noexcept
comparison: equal
+void push_back(basic_json &&val)
add an object to an array
+const_iterator cbegin() const
returns a const iterator to the first element
+bool is_string() const noexcept
return whether value is a string
+iterator & operator+=(difference_type i)
add to iterator
+const PointerType get_ptr() const noexcept
get a pointer value (implicit)
basic_json(const CompatibleStringType &val)
create a string (implicit)
the parser read ] and finished processing a JSON array
-const_iterator base_iterator
-reference operator+=(basic_json &&val)
add an object to an array
-basic_json(size_type cnt, const basic_json &val)
construct an array with count copies of given value
-a mutable random access iterator for the basic_json class
-iterator & operator-=(difference_type i)
subtract from iterator
-static basic_json parse(std::istream &&i, parser_callback_t cb=nullptr)
deserialize from stream
-reference operator[](const typename object_t::key_type &key)
access specified object element
+const_iterator base_iterator
+reference operator+=(basic_json &&val)
add an object to an array
+basic_json(size_type cnt, const basic_json &val)
construct an array with count copies of given value
+a mutable random access iterator for the basic_json class
+iterator & operator-=(difference_type i)
subtract from iterator
+static basic_json parse(std::istream &&i, parser_callback_t cb=nullptr)
deserialize from stream
+reference operator[](const typename object_t::key_type &key)
access specified object element
-difference_type operator-(const iterator &other) const
-reference value() const
return the value of an iterator
-static iteration_proxy< const_iterator > iterator_wrapper(const_reference cont)
wrapper to access iterator member functions in range-based for
-const_iterator end() const
returns a const iterator to one past the last element
-const_iterator(const const_iterator &other) noexcept
copy constructor
-reference at(const typename object_t::key_type &key)
access specified object element with bounds checking
-object_t::key_type key() const
return the key of an object iterator
-iterator end()
returns an iterator to one past the last element
+difference_type operator-(const iterator &other) const
+reference value() const
return the value of an iterator
+static iteration_proxy< const_iterator > iterator_wrapper(const_reference cont)
wrapper to access iterator member functions in range-based for
+const_iterator end() const
returns a const iterator to one past the last element
+const_iterator(const const_iterator &other) noexcept
copy constructor
+reference at(const typename object_t::key_type &key)
access specified object element with bounds checking
+object_t::key_type key() const
return the key of an object iterator
+iterator end()
returns an iterator to one past the last element
ObjectType< StringType, basic_json, std::less< StringType >, AllocatorType< std::pair< const StringType, basic_json >>> object_t
a type for an object
-reference operator*()
return a reference to the value pointed to by the iterator
-reverse_iterator rend()
returns an iterator to the reverse-end
-bool is_object() const noexcept
return whether value is an object
-const_iterator operator-(difference_type i)
subtract from iterator
-bool is_discarded() const noexcept
return whether value is discarded
+reference operator*()
return a reference to the value pointed to by the iterator
+reverse_iterator rend()
returns an iterator to the reverse-end
+bool is_object() const noexcept
return whether value is an object
+const_iterator operator-(difference_type i)
subtract from iterator
+bool is_discarded() const noexcept
return whether value is discarded
basic_json(const CompatibleArrayType &val)
create an array (implicit)
-typename basic_json::const_reference reference
defines a reference to the type iterated over (value_type)
-const_reverse_iterator rend() const
returns a const reverse iterator to one before the first
-size_type erase(const typename object_t::key_type &key)
remove element from a JSON object given a key
-bool is_boolean() const noexcept
return whether value is a boolean
-iterator begin()
returns an iterator to the first element
-const_reference at(const typename object_t::key_type &key) const
access specified object element with bounds checking
-reference operator+=(const basic_json &val)
add an object to an array
+typename basic_json::const_reference reference
defines a reference to the type iterated over (value_type)
+const_reverse_iterator rend() const
returns a const reverse iterator to one before the first
+size_type erase(const typename object_t::key_type &key)
remove element from a JSON object given a key
+bool is_boolean() const noexcept
return whether value is a boolean
+iterator begin()
returns an iterator to the first element
+const_reference at(const typename object_t::key_type &key) const
access specified object element with bounds checking
+reference operator+=(const basic_json &val)
add an object to an array
AllocatorType< basic_json > allocator_type
the allocator type
basic_json(const number_float_t val)
create a floating-point number (explicit)
-bool is_number_integer() const noexcept
return whether value is an integer number
-iterator operator+(difference_type i)
add to iterator
+bool is_number_integer() const noexcept
return whether value is an integer number
+iterator operator+(difference_type i)
add to iterator
std::function< bool(int depth, parse_event_t event, basic_json &parsed)> parser_callback_t
per-element parser callback type
basic_json(const typename string_t::value_type *val)
create a string (explicit)
const_iterator()=default
default constructor
the parser read [ and started to process a JSON array
-iterator find(typename object_t::key_type key)
find an element in a JSON object
+iterator find(typename object_t::key_type key)
find an element in a JSON object
basic_json(const value_t value_type)
create an empty value with a given type
-friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
comparison: greater than or equal
-iterator & operator--()
pre-decrement (–it)
-friend bool operator<(const_reference lhs, const_reference rhs) noexcept
comparison: less than
-pointer operator->() const
dereference the iterator
+friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
comparison: greater than or equal
+iterator & operator--()
pre-decrement (–it)
+friend bool operator<(const_reference lhs, const_reference rhs) noexcept
comparison: less than
+pointer operator->() const
dereference the iterator
discarded by the the parser callback function
-const_reference operator[](const typename object_t::key_type &key) const
read-only access specified object element
-const_iterator cend() const
returns a const iterator to one past the last element
-typename Base::reference reference
the reference type for the pointed-to element
-size_type size() const noexcept
returns the number of elements
+const_reference operator[](const typename object_t::key_type &key) const
read-only access specified object element
+const_iterator cend() const
returns a const iterator to one past the last element
+typename Base::reference reference
the reference type for the pointed-to element
+size_type size() const noexcept
returns the number of elements
static allocator_type get_allocator()
returns the allocator associated with the container
object (unordered set of name/value pairs)
-reference at(size_type idx)
access specified array element with bounds checking
+reference at(size_type idx)
access specified array element with bounds checking
the parser read } and finished processing a JSON object
iterator()=default
default constructor
-json_reverse_iterator(const base_iterator &it)
create reverse iterator from base class
-value_t type() const noexcept
return the type of the JSON value (explicit)
-friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
serialize to stream
-ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
-object_t::key_type key() const
return the key of an object iterator
-bool is_structured() const noexcept
return whether type is structured
+json_reverse_iterator(const base_iterator &it)
create reverse iterator from base class
+value_t type() const noexcept
return the type of the JSON value (explicit)
+friend std::ostream & operator>>(const basic_json &j, std::ostream &o)
serialize to stream
+ValueType value(const typename object_t::key_type &key, ValueType default_value) const
access specified object element with default value
+object_t::key_type key() const
return the key of an object iterator
+bool is_structured() const noexcept
return whether type is structured
namespace for Niels Lohmann
-typename basic_json::difference_type difference_type
a type to represent differences between iterators
-void swap(array_t &other)
exchanges the values
-reverse_iterator rbegin()
returns an iterator to the reverse-beginning
-reference operator+=(const typename object_t::value_type &val)
add an object to an object
+typename basic_json::difference_type difference_type
a type to represent differences between iterators
+void swap(array_t &other)
exchanges the values
+reverse_iterator rbegin()
returns an iterator to the reverse-beginning
+reference operator+=(const typename object_t::value_type &val)
add an object to an object
-reference operator[](difference_type n) const
access to successor
+reference operator[](difference_type n) const
access to successor
std::size_t size_type
a type to represent container sizes
-const_reverse_iterator rbegin() const
returns a const reverse iterator to the last element
-
-basic_json(const basic_json &other)
copy constructor
-const_iterator operator+(difference_type i)
add to iterator
+const_reverse_iterator rbegin() const
returns a const reverse iterator to the last element
+
+basic_json(const basic_json &other)
copy constructor
+const_iterator operator+(difference_type i)
add to iterator
value_t
the JSON type enumeration
const value_type & const_reference
the type of an element const reference
basic_json(const CompatibleNumberIntegerType val) noexcept
create an integer number (implicit)
-bool is_null() const noexcept
return whether value is null
-void swap(string_t &other)
exchanges the values
-reference value() const
return the value of an iterator
-const_iterator operator--(int)
post-decrement (it–)
-void erase(const size_type idx)
remove element from a JSON array given an index
-void clear() noexcept
clears the contents
-pointer operator->()
dereference the iterator
+bool is_null() const noexcept
return whether value is null
+void swap(string_t &other)
exchanges the values
+reference value() const
return the value of an iterator
+const_iterator operator--(int)
post-decrement (it–)
+void erase(const size_type idx)
remove element from a JSON array given an index
+void clear() noexcept
clears the contents
+pointer operator->()
dereference the iterator
basic_json value_type
the type of elements in a basic_json container
array (ordered collection of values)
-const_reference front() const
access the first element
-bool operator>=(const const_iterator &other) const
comparison: greater than or equal
-iterator insert(const_iterator pos, std::initializer_list< basic_json > ilist)
inserts elements
+const_reference front() const
access the first element
+bool operator>=(const const_iterator &other) const
comparison: greater than or equal
+iterator insert(const_iterator pos, std::initializer_list< basic_json > ilist)
inserts elements
std::ptrdiff_t difference_type
a type to represent differences between iterators
-const_iterator & operator+=(difference_type i)
add to iterator
-basic_json(std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)
create a container (array or object) from an initializer list
-difference_type operator-(const const_iterator &other) const
return difference
-friend bool operator==(const_reference lhs, const_reference rhs) noexcept
comparison: equal
-bool is_number() const noexcept
return whether value is a number
+const_iterator & operator+=(difference_type i)
add to iterator
+basic_json(std::initializer_list< basic_json > init, bool type_deduction=true, value_t manual_type=value_t::array)
create a container (array or object) from an initializer list
+difference_type operator-(const const_iterator &other) const
return difference
+friend bool operator==(const_reference lhs, const_reference rhs) noexcept
comparison: equal
+bool is_number() const noexcept
return whether value is a number
BooleanType boolean_t
a type for a boolean
-const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
+const_reverse_iterator crend() const
returns a const reverse iterator to one before the first
basic_json() noexcept=default
create a null object (implicitly)
the parser read a key of a value in an object
-bool empty() const noexcept
checks whether the container is empty
-string_t value(const typename object_t::key_type &key, const char *default_value) const
overload for a default value of type const char*
-void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
+bool empty() const noexcept
checks whether the container is empty
+string_t value(const typename object_t::key_type &key, const char *default_value) const
overload for a default value of type const char*
+void swap(reference other) noexcept( std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value )
exchanges the values
json_reverse_iterator< typename basic_json::const_iterator > const_reverse_iterator
a const reverse iterator for a basic_json container
-const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
-reference value() const
return the value of an iterator
+const_reverse_iterator crbegin() const
returns a const reverse iterator to the last element
+reference value() const
return the value of an iterator
-const_iterator(pointer object)
constructor for a given JSON instance
-friend bool operator<(const value_t lhs, const value_t rhs)
comparison operator for JSON types
-iterator(pointer object) noexcept
constructor for a given JSON instance
-bool operator<(const const_iterator &other) const
comparison: smaller
-string_t dump(const int indent=-1) const
serialization
-friend bool operator!=(const_reference v, std::nullptr_t) noexcept
comparison: not equal
-const_iterator & operator-=(difference_type i)
subtract from iterator
+const_iterator(pointer object)
constructor for a given JSON instance
+friend bool operator<(const value_t lhs, const value_t rhs)
comparison operator for JSON types
+iterator(pointer object) noexcept
constructor for a given JSON instance
+bool operator<(const const_iterator &other) const
comparison: smaller
+string_t dump(const int indent=-1) const
serialization
+friend bool operator!=(const_reference v, std::nullptr_t) noexcept
comparison: not equal
+const_iterator & operator-=(difference_type i)
subtract from iterator
basic_json(const int val)
create an integer number from an enum type (explicit)
basic_json(const array_t &val)
create an array (explicit)
number value (floating-point)
-static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
-InteratorType erase(InteratorType first, InteratorType last)
remove elements given an iterator range
-json_reverse_iterator operator++(int)
post-increment (it++)
-PointerType get_ptr() noexcept
get a pointer value (implicit)
+static basic_json parse(const string_t &s, parser_callback_t cb=nullptr)
deserialize from string
+InteratorType erase(InteratorType first, InteratorType last)
remove elements given an iterator range
+json_reverse_iterator operator++(int)
post-increment (it++)
+PointerType get_ptr() noexcept
get a pointer value (implicit)
-const_iterator(const iterator &other)
copy constructor given a nonconst iterator
-friend bool operator!=(std::nullptr_t, const_reference v) noexcept
comparison: not equal
-InteratorType erase(InteratorType pos)
remove element given an iterator
-bool operator<=(const const_iterator &other) const
comparison: less than or equal
+const_iterator(const iterator &other)
copy constructor given a nonconst iterator
+friend bool operator!=(std::nullptr_t, const_reference v) noexcept
comparison: not equal
+InteratorType erase(InteratorType pos)
remove element given an iterator
+bool operator<=(const const_iterator &other) const
comparison: less than or equal
basic_json(const CompatibleNumberFloatType val) noexcept
create an floating-point number (implicit)
-reference back()
access the last element
-bool is_number_float() const noexcept
return whether value is a floating-point number
+reference back()
access the last element
+bool is_number_float() const noexcept
return whether value is a floating-point number
the parser read { and started to process a JSON object
-const_iterator operator++(int)
post-increment (it++)
+const_iterator operator++(int)
post-increment (it++)
typename std::allocator_traits< allocator_type >::const_pointer const_pointer
the type of an element const pointer
basic_json(const string_t &val)
create a string (explicit)
-iterator(const iterator &other) noexcept
copy constructor
-const_reference back() const
access the last element
-basic_json(InputIT first, InputIT last)
construct a JSON container given an iterator range
-static basic_json parse(std::istream &i, parser_callback_t cb=nullptr)
deserialize from stream
-size_type count(typename object_t::key_type key) const
returns the number of occurrences of a key in a JSON object
-size_type max_size() const noexcept
returns the maximum possible number of elements
-void push_back(const basic_json &val)
add an object to an array
-bool operator==(const const_iterator &other) const
comparison: equal
-json_reverse_iterator & operator++()
pre-increment (++it)
-bool operator>(const const_iterator &other) const
comparison: greater than
-friend bool operator>(const_reference lhs, const_reference rhs) noexcept
comparison: greater than
-basic_json(basic_json &&other) noexcept
move constructor
-const_reference operator[](const T(&key)[n]) const
read-only access specified object element
-const_iterator begin() const
returns a const iterator to the first element
-const_reference at(size_type idx) const
access specified array element with bounds checking
-json_reverse_iterator & operator+=(difference_type i)
add to iterator
-a const random access iterator for the basic_json class
+iterator(const iterator &other) noexcept
copy constructor
+const_reference back() const
access the last element
+basic_json(InputIT first, InputIT last)
construct a JSON container given an iterator range
+static basic_json parse(std::istream &i, parser_callback_t cb=nullptr)
deserialize from stream
+size_type count(typename object_t::key_type key) const
returns the number of occurrences of a key in a JSON object
+size_type max_size() const noexcept
returns the maximum possible number of elements
+void push_back(const basic_json &val)
add an object to an array
+bool operator==(const const_iterator &other) const
comparison: equal
+json_reverse_iterator & operator++()
pre-increment (++it)
+bool operator>(const const_iterator &other) const
comparison: greater than
+friend bool operator>(const_reference lhs, const_reference rhs) noexcept
comparison: greater than
+basic_json(basic_json &&other) noexcept
move constructor
+const_reference operator[](const T(&key)[n]) const
read-only access specified object element
+const_iterator begin() const
returns a const iterator to the first element
+const_reference at(size_type idx) const
access specified array element with bounds checking
+json_reverse_iterator & operator+=(difference_type i)
add to iterator
+a const random access iterator for the basic_json class
a template for a reverse iterator class
-void swap(object_t &other)
exchanges the values
-std::bidirectional_iterator_tag iterator_category
the category of the iterator
-bool is_primitive() const noexcept
return whether type is primitive
-iterator insert(const_iterator pos, const basic_json &val)
inserts element
-friend bool operator==(const_reference v, std::nullptr_t) noexcept
comparison: equal
+void swap(object_t &other)
exchanges the values
+std::bidirectional_iterator_tag iterator_category
the category of the iterator
+bool is_primitive() const noexcept
return whether type is primitive
+iterator insert(const_iterator pos, const basic_json &val)
inserts element
+friend bool operator==(const_reference v, std::nullptr_t) noexcept
comparison: equal
-reference operator[](difference_type n) const
access to successor
+reference operator[](difference_type n) const
access to successor
NumberIntegerType number_integer_t
a type for a number (integer)
-reference operator[](difference_type n) const
access to successor
-reference operator*() const
return a reference to the value pointed to by the iterator
+reference operator[](difference_type n) const
access to successor
+reference operator*() const
return a reference to the value pointed to by the iterator
value_type & reference
the type of an element reference
-friend std::istream & operator<<(basic_json &j, std::istream &i)
deserialize from stream
+friend std::istream & operator<<(basic_json &j, std::istream &i)
deserialize from stream
the parser finished reading a JSON value
NumberFloatType number_float_t
a type for a number (floating-point)
-std::size_t operator()(const nlohmann::json &j) const
return a hash value for a JSON object
-friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
serialize to stream
-iterator & operator=(iterator other) noexcept( std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value )
copy assignment
+std::size_t operator()(const nlohmann::json &j) const
return a hash value for a JSON object
+friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
serialize to stream
+iterator & operator=(iterator other) noexcept( std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value )
copy assignment
basic_json(const CompatibleObjectType &val)
create an object (implicit)
-reference operator[](size_type idx)
access specified array element
-iterator operator--(int)
post-decrement (it–)
-json_reverse_iterator operator+(difference_type i) const
add to iterator
+reference operator[](size_type idx)
access specified array element
+iterator operator--(int)
post-decrement (it–)
+json_reverse_iterator operator+(difference_type i) const
add to iterator
parse_event_t
JSON callback events.
-iterator operator-(difference_type i)
subtract from iterator
+iterator operator-(difference_type i)
subtract from iterator
diff --git a/namespacemembers.html b/namespacemembers.html
index 0d9910e6c..2e1db8a75 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -94,7 +94,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/namespacemembers_type.html b/namespacemembers_type.html
index 09aa7473d..d8f772f33 100644
--- a/namespacemembers_type.html
+++ b/namespacemembers_type.html
@@ -94,7 +94,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/namespacenlohmann.html b/namespacenlohmann.html
index 9eda0b7a9..8faa12473 100644
--- a/namespacenlohmann.html
+++ b/namespacenlohmann.html
@@ -116,7 +116,7 @@ Typedefs
diff --git a/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html b/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
index ba1312ba3..075ef9423 100644
--- a/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
+++ b/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
@@ -105,7 +105,7 @@ Classes
diff --git a/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html b/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
index cea4e1079..14ad6706a 100644
--- a/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
+++ b/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
This type is the default specialization of the basic_json class which uses the standard template types.
- Since
- version 1.0
-Definition at line 7770 of file json.hpp.
+Definition at line 7799 of file json.hpp.
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html b/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html
index 0c8a339c4..757720803 100644
--- a/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html
+++ b/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html
index 308b2d54d..9466beb7e 100644
--- a/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html
+++ b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html
@@ -111,11 +111,11 @@ Public Member Functions
struct std::hash< nlohmann::json >
-Definition at line 7798 of file json.hpp.
+Definition at line 7827 of file json.hpp.
diff --git a/structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html b/structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html
index 88aa33adf..62c0d5dd7 100644
--- a/structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html
+++ b/structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');